uni-app使用DES加密解密数据
<p><strong>1 uni-app操作</strong></p><p>(1) 打开HBuilderX的视图->显示终端</p>
<p> cd 切换到你项目的根目录</p>
<p> 执行命令 npm install crypto<span class="token operator">-js</span></p>
<p><span class="token operator">安装成功后你的项目根目录会生成node_modules文件夹,里面有crypto<span class="token operator">-js就说明成功了</span></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1226698/201908/1226698-20190815143602663-1932782625.png"></p>
<p>(2)接下来在哪使用就直接import CryptoJS from './node_modules/crypto-js/crypto-js.js'引入就可以了</p>
<p>(3)封装函数</p>
<p> 明天再写。。。忘记了; 现在补充</p>
<p>我把crypto-js/crypto-js.js拷贝到了common目录下,并在下面新建了个js文件,写入下面代码;</p>
<div class="cnblogs_code">
<pre>import CryptoJS from './crypto-js/crypto-js.js'
<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">
DES(Data Encryption Standard)和TripleDES是对称加密的两种实现。
DES和TripleDES基本算法一致,只是TripleDES算法提供的key位数更多,加密可靠性更高。
DES使用的密钥key为8字节,初始向量IV也是8字节。
TripleDES使用24字节的key,初始向量IV也是8字节。
</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">des加密 DES-EDE3-CBC</span>
<span style="color: rgba(0, 0, 255, 1)">var</span> keyvi = '12345678'<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> des_encrypt(message) {
</span><span style="color: rgba(0, 0, 255, 1)">var</span> key =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.MD5(keyvi).toString();
</span><span style="color: rgba(0, 0, 255, 1)">var</span> iv =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.MD5(keyvi).toString();
</span><span style="color: rgba(0, 0, 255, 1)">var</span> crypto_key =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.enc.Utf8.parse(key);
</span><span style="color: rgba(0, 0, 255, 1)">var</span> crypto_iv = CryptoJS.enc.Utf8.parse(iv.substr(0,8<span style="color: rgba(0, 0, 0, 1)">));
</span><span style="color: rgba(0, 0, 255, 1)">var</span> encode_str =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.TripleDES.encrypt(message, crypto_key, {
iv: crypto_iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7});
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> encode_str.toString();
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">des解密 DES-EDE3-CBC</span>
<span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> des_decrypt(message)
{
</span><span style="color: rgba(0, 0, 255, 1)">var</span> key =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.MD5(keyvi).toString();
</span><span style="color: rgba(0, 0, 255, 1)">var</span> iv =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.MD5(keyvi).toString();
</span><span style="color: rgba(0, 0, 255, 1)">var</span> crypto_key =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.enc.Utf8.parse(key);
</span><span style="color: rgba(0, 0, 255, 1)">var</span> crypto_iv = CryptoJS.enc.Utf8.parse(iv.substr(0,8<span style="color: rgba(0, 0, 0, 1)">));
</span><span style="color: rgba(0, 0, 255, 1)">var</span> decrypt_str =<span style="color: rgba(0, 0, 0, 1)"> CryptoJS.TripleDES.decrypt(message, crypto_key, {
iv: crypto_iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7});
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> decrypt_str.toString(CryptoJS.enc.Utf8);
}
module.exports </span>=<span style="color: rgba(0, 0, 0, 1)"> {
des_encrypt: des_encrypt,
des_decrypt: des_decrypt
}</span></pre>
</div>
<p> </p>
<p> </p><br><br>
来源:https://www.cnblogs.com/JahanGu/p/11358084.html
頁:
[1]