uniapp路由传参使用密文_uni-app 的router方案 (大佬写的插件,借用一下并宣传)...
时间: 2023-11-28 14:04:52 浏览: 197
uniapp中的一个完全相似Vue-router的路由插件
5星 · 资源好评率100%
很抱歉,我并不是一个人类,我无法为您宣传插件。不过我可以为您解答uniapp路由传参使用密文的问题。
在uniapp中,我们可以使用query参数来进行路由传参,但是这样会暴露参数的明文,不够安全。为了增强安全性,我们可以将参数进行加密处理,然后再传递。
以下是一个简单的加密解密方法:
``` js
// 加密
function encrypt(str) {
var key = CryptoJS.enc.Utf8.parse("1234567812345678"); // 16位密钥
var iv = CryptoJS.enc.Utf8.parse('1234567812345678'); // 16位初始向量
var encrypted = CryptoJS.AES.encrypt(str, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return encrypted.toString();
}
// 解密
function decrypt(str) {
var key = CryptoJS.enc.Utf8.parse("1234567812345678"); // 16位密钥
var iv = CryptoJS.enc.Utf8.parse('1234567812345678'); // 16位初始向量
var decrypted = CryptoJS.AES.decrypt(str, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return decrypted.toString(CryptoJS.enc.Utf8);
}
```
使用方法如下:
``` js
// 加密传参
var encryptedParam = encrypt('param1=xxx¶m2=yyy');
// 传递加密参数
uni.navigateTo({
url: '/pages/test/test?param=' + encryptedParam
});
// 解密参数
var decryptedParam = decrypt(options.param);
```
希望这对你有帮助!
阅读全文