js cookie 加密
时间: 2023-09-27 12:12:13 浏览: 177
在JavaScript中,可以使用加密算法对cookie进行加密。常见的加密算法包括Base64和AES加密算法。使用Base64加密是最简单的方法,它可以将cookie的值转换成一串Base64编码的字符串,以增加安全性。要对cookie进行加密,可以在设置cookie值之前使用加密算法对其进行加密,然后再将加密后的值设置为cookie的值。同样,在读取cookie值时,需要先解密再使用。
以下是使用Base64加密算法对cookie值进行加密的示例代码:
```
// 导入Base64库
<script src="https://cdn.jsdelivr.net/npm/base64-js@1.5.1/base64.min.js"></script>
// 加密cookie值
function encryptCookieValue(value) {
var encodedValue = Base64.encode(value);
return encodedValue;
}
// 设置cookie
function setCookie(cname, cvalue, exdays) {
var encryptedValue = encryptCookieValue(cvalue);
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + encryptedValue + "; " + expires;
}
// 解密cookie值
function decryptCookieValue(value) {
var decodedValue = Base64.decode(value);
return decodedValue;
}
// 获取cookie
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
var encryptedValue = c.substring(name.length, c.length);
var decryptedValue = decryptCookieValue(encryptedValue);
return decryptedValue;
}
}
return "";
}
// 清除cookie
function clearCookie(name) {
setCookie(name, "", -1);
}
```
以上代码演示了如何使用Base64加密算法对cookie值进行加密和解密。当设置cookie值时,调用`encryptCookieValue`函数对值进行加密,然后将加密后的值设置为cookie的值。当读取cookie值时,调用`decryptCookieValue`函数对值进行解密,然后再使用。请注意,这只是一种简单的加密方法,如果需要更高的安全性,可以考虑使用其他更强大的加密算法如AES。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [[废弃]JS cookie存取功能(加密优化版)](https://download.csdn.net/download/qq_15941409/10605588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [js中加密及设置cookie](https://blog.csdn.net/weixin_30852451/article/details/96029407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文