uni-app使用DES加密解密数据

摘要:
DES和TripleDES的基本算法是相同的,但TripleDES算法提供了更多的密钥位和更高的加密可靠性。TripleDES使用24字节密钥,初始向量IV也是8字节。

1 uni-app操作

(1) 打开HBuilderX的视图->显示终端

  cd 切换到你项目的根目录

  执行命令 npm install crypto-js

安装成功后你的项目根目录会生成node_modules文件夹,里面有crypto-js就说明成功了

uni-app使用DES加密解密数据第1张

(2)接下来在哪使用就直接import CryptoJS from './node_modules/crypto-js/crypto-js.js'引入就可以了

(3)封装函数

  明天再写。。。忘记了; 现在补充

我把crypto-js/crypto-js.js拷贝到了common目录下,并在下面新建了个js文件,写入下面代码;

import CryptoJS from './crypto-js/crypto-js.js'

/*
    DES(Data Encryption Standard)和TripleDES是对称加密的两种实现。
    DES和TripleDES基本算法一致,只是TripleDES算法提供的key位数更多,加密可靠性更高。
    DES使用的密钥key为8字节,初始向量IV也是8字节。
    TripleDES使用24字节的key,初始向量IV也是8字节。
*/
//des加密 DES-EDE3-CBC
var keyvi = '12345678';
function des_encrypt(message) {
    var key            = CryptoJS.MD5(keyvi).toString();
    var iv            = CryptoJS.MD5(keyvi).toString();
    var crypto_key     = CryptoJS.enc.Utf8.parse(key);
    var crypto_iv     = CryptoJS.enc.Utf8.parse(iv.substr(0,8));

    var encode_str     = CryptoJS.TripleDES.encrypt(message, crypto_key, {    
                        iv:         crypto_iv,    
                        mode:         CryptoJS.mode.CBC,    
                        padding:     CryptoJS.pad.Pkcs7});
    return encode_str.toString();

}
//des解密 DES-EDE3-CBC
function des_decrypt(message)
{
    var key            = CryptoJS.MD5(keyvi).toString();
    var iv            = CryptoJS.MD5(keyvi).toString();
    var crypto_key     = CryptoJS.enc.Utf8.parse(key);
    var crypto_iv     = CryptoJS.enc.Utf8.parse(iv.substr(0,8));
    var decrypt_str    = CryptoJS.TripleDES.decrypt(message, crypto_key, {    
                        iv:         crypto_iv,    
                        mode:         CryptoJS.mode.CBC,    
                        padding:     CryptoJS.pad.Pkcs7});
    return     decrypt_str.toString(CryptoJS.enc.Utf8);    
}

module.exports = {
    des_encrypt: des_encrypt,
    des_decrypt: des_decrypt
}

    

免责声明:文章转载自《uni-app使用DES加密解密数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP Laravel的容器化开发与部署WF Workflow 状态机工作流 开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

常见的加密方式总结

对称加密 DES DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法,加密速度快,但是容易破解安全性低。 3DES(Triple DES) 是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高,加强版DES。 (DES算法比较简单,容易破解已不建议使用) AES(微信用的就是这种加密方式)...

DES加密ECB(模式) golang

Java默认DES算法使用DES/ECB/PKCS5Padding,而golang认为这种方式是不安全的,所以故意没有提供这种加密方式,那如果我们还是要用到怎么办?下面贴上golang版的DES ECB加密解密代码(默认对密文做了base64处理)。 package main import ( log "ad-service/alog"...

3DES加解密 C语言

3DES(或称为Triple DES),它相当于是对每个数据块应用三次DES加密算法。3*8字节密钥。 设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文; 3DES加密过程为:C=Ek3(Dk2(Ek1(P))) 3DES解密过程为:P=Dk1((EK2(Dk3(C))) 补齐方式PKCS7 k=8,l...

RAS、AES、DES加密

--------------------------------------------------------------------------------------------------------------- 为什么会了解加密的这些东西呢?说来很囧的………… 异想天开的想开发一个微信自动加好友软件,卖给微商们,自己也赚点小钱。。。然后就开始搞...

在vue或js中的异或解密和aes(des)配合使用

简单粗暴,直接贴代码: 1 //AES解密 2 decryptData(toDecrypt) { 3 var key='mochouhuaNumber1';//密钥(和后端约定的) 4 var base64 = CryptoJS.enc.Utf8.parse(key); 5 var iv=CryptoJS.enc.U...

3DESC加密算法

3DESC 请求参数和响应参数全采用3des加密规则,由于我是用.NET对接的,而第三方是Java开发的,所以两种程序之间采用的算法有一点差异,java的3des加密采用的是"DESede/CBC/PKCS5Padding"规则,所以对应的C#规则是"PaddingMode.PKCS7和CipherMode.CBC",使用CBC模式的话在C#下必须传入加密...