前端如何对cookie加密
在前端对 Cookie 进行加密时,你可以使用加密算法对 Cookie 的值进行加密,然后再将加密后的值存储到 Cookie 中。常用的加密算法包括对称加密算法(如 AES)和非对称加密算法(如 RSA)。
以下是一个简单的示例,演示如何在前端使用 AES 对 Cookie 进行加密:
// 引入加密库
import CryptoJS from 'crypto-js'; // 加密密钥
const encryptionKey = 'yourEncryptionKey'; // 加密函数
function encryptCookie(value) {
const encryptedValue = CryptoJS.AES.encrypt(value, encryptionKey).toString();
return encryptedValue;
} // 解密函数
function decryptCookie(encryptedValue) {
const decryptedValue = CryptoJS.AES.decrypt(encryptedValue, encryptionKey).toString(CryptoJS.enc.Utf8);
return decryptedValue;
} // 设置 Cookie,先加密再存储到 Cookie 中
function setEncryptedCookie(key, value) {
const encryptedValue = encryptCookie(value);
document.cookie = `${key}=${encryptedValue};`;
} // 获取 Cookie,先从 Cookie 中取出再解密
function getDecryptedCookie(key) {
const cookies = document.cookie.split(';');
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i].trim().split('=');
if (cookie[0] === key) {
const encryptedValue = cookie[1];
return decryptCookie(encryptedValue);
}
}
return null;
} // 示例用法
setEncryptedCookie('myCookie', 'sensitiveData'); const decryptedValue = getDecryptedCookie('myCookie');
console.log(decryptedValue); // 输出: sensitiveData
在这个示例中,我们使用了 CryptoJS 库来进行 AES 加密和解密操作。首先定义了一个加密密钥 encryptionKey,然后分别实现了加密函数 encryptCookie 和解密函数 decryptCookie。在设置 Cookie 时,先使用 encryptCookie 加密要存储的值,然后再存储到 Cookie 中;在获取 Cookie 时,先从 Cookie 中取出值,然后再使用 decryptCookie 解密得到原始值。
需要注意的是,尽管使用了加密算法,但由于前端代码可以被用户轻易地查看和修改,因此加密的安全性有限。加密的主要目的是防止明文存储敏感信息,但并不能完全阻止恶意用户篡改或窃取 Cookie。因此,对于敏感信息,仍应该在服务端进行加密和验证。
前端如何对cookie加密的更多相关文章
- cookie加密 当浏览器全面禁用三方 Cookie
cookie加密 cookie localstorage 区别 https://mp.weixin.qq.com/s/vHeRStcCUarwqsY7Y1rpGg 当浏览器全面禁用三方 ...
- php实现cookie加密解密
1.加密解密类 class Mcrypt { /** * 解密 * * @param string $encryptedText 已加密字符串 * @param string $key 密钥 * @r ...
- django 密文 cookie 加密
默认cookie是明文 # 加密cookie salt 通过这个字符串把cookie内容加密 obj.set_signed_cookie('username111','aaaa',salt=" ...
- cookie加密
Cookie中的数据以文本的形式存在客户端计算机,考虑它的安全性,最好在将数据存入Cookie之前对其进行加密. 加密的方法很多,比较简单一点的有:Base64,md5,sha等,而相对比较复杂一点的 ...
- 前端获取指定cookie
前端获取指定cookie的值 function getCookie(cookiename){ var name = cookiename + "="; var cs = docum ...
- angular8实现前端携带cookie发送给后端+nodejs获取前端发送的cookie
1.前端测试代码angular8 // 测试代码 testCookie() { const url = 'http://10.11.11.11:3000/test/cookie' const para ...
- JS逆向实战11——某金属集团动态cookie加密
本文来自:来自: https://www.cnblogs.com/zichliang/ 目标网站 aHR0cDovL3d3dy50bm1nLmNvbS5jbi9pbmZvcm1hdGlvbi9pbmZ ...
- C# 加密–RSA前端与后台的加密&解密
1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...
- Ajax请求接口加密研究(针对网页前端的接口安全加密机制研究)
通常我们在h5前端调用后台接口时,一般是ajax,那么接口的安全成了一个问题. 这里可以肯定的说,前端调用的接口一定要验证! 然后剖析了微信网页版.京东网页版这些,也都是通过接口的形势绑定数据,所以在 ...
- 加密–RSA前端与后台的加密&解密
1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...
随机推荐
- 【FAQ】推送服务常见问题及解答
目录 1.报错6003解决方案. 2.推送成功收不到消息. 3.Gettoken返回0,无法进入onToken函数,无法收到广播. 4.如何在华为开放平台查看消息属性,推送的时候带了importanc ...
- Python操作临时文件---tempfile
# 使用标准库中 tempfile 下的 TemporaryFile,NamedTemporaryFile # TemporaryFile(mode='w+b', bufsize=1, suffix= ...
- MVC如何创建区域
前言 MVC 划分区域可以为项目成立不同的小模块,方便团队之间开发,与增强项目结构的清晰度. 正文 建立区域: 在areas里面建立区域.,然后填写命名. 然后区域注册即可: 但是这样做依然无法解决项 ...
- 调用App Store Connect Api
对iOS的证书.描述文件.账号.设备等管理,之前都去苹果开发者中心操作,官网上操作也比较繁杂,想搞一些自动化之类的,更是麻烦,有时候官网都打不开-- 其实苹果还提供里一套API接口,创建证书.创建账号 ...
- SELECT...FROM 表 a,( SELECT...FROM...WHERE...) tc...的一些注意以及多字段之间的模糊查询
将sql查询结果作为一个表来查询的时候的一些注意事项 因为工作,发现了这种sql的写法,但是有的时候感觉并不是自己想要的结果,自己试着玩了属于是 简单来说,这个查询并不是拼接结果的,而是将结果按照一个 ...
- 力扣61(java&python)-旋转链表(中等)
题目: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置. 示例1: 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例2: 输 ...
- 提质增效,安全灵活,阿里云EDA上云方案让芯片设计驶入高速路
简介: 今天下午14点,直播间等你 导语:随着芯片工艺的跃升,EDA 需要越来越大的计算能力,处理高达PB级的海量数据.传统的算力交付模式已无法跟上快速发展的芯片设计行业,云的快速交付与强大生态提供了 ...
- 五福背后的 Web 3D 引擎 Oasis Engine 正式开源
简介: Oasis 从开源走向新的起点,用 3D 化的交互和表达让世界变得更美好. 相信大家已经体验了今年支付宝五福的活动,无论是今年的五福首页还是打年兽游戏都是由蚂蚁互动图形引擎(代号:Oasis ...
- win10 uwp 使用 XamlTreeDump 获取 XAML 树元素内容
本文来安利大家 XamlTreeDump 库,通过这个库可以将 XAML 树上的元素转换为 json 字符串,可以用来进行 UI 单元测试 开始之前先通过 NuGet 工具安装 XamlTreeDum ...
- Vue3 和 Vue2 的异同及开发中具体区别
目录 总体来说 性能提升 树摇(Tree shaking) 碎片化节点(Fragment) 传送门 (Teleport) Suspense 更好的TypeScript支持 Composition AP ...