|
|
发表于 2021-5-6 22:18:33
|
显示全部楼层
类似我们写nextjs 中, 使用cookie来保存token和用户的一些信息。
一般我们通过API获取的用户信息【TOKEN,用户信息】转化成json string,然后再加密。
每次调用就进行解密。
代码如下:
- import CryptoJS from 'crypto-js'
- const my_secret_string = 'dsds%$54sjdjssd2323232k232!23sdjk@'
- const cookie_name = `your_cookie_name`
- const encrypt = (string)=> {
- if(typeof string === 'string'){
- return CryptoJS.AES.encrypt(string, my_secret_string).toString();
- }else{
- return CryptoJS.AES.encrypt(JSON.stringify(string), my_secret_string).toString();
- }
- }
- const decrypt =(hashkeys)=> {
- let bytes = CryptoJS.AES.decrypt(hashkeys, my_secret_string);
- let res = bytes.toString(CryptoJS.enc.Utf8);
- return JSON.parse(res)?JSON.parse(res):res
- }
- export {
- encrypt,
- decrypt,
- cookie_name
- }
复制代码
nextjs 服务器渲染 比较好实现。
但是你单纯的使用 js 你解密的JS 别人肯定能查到,你的前段要解密,肯定要用my_secret_string来解密,这样又暴露了。
最好的方式就是用nextjs 既可以用reactjs,又可以在服务端加密不暴露my_secret_string |
|