zoukankan      html  css  js  c++  java
  • uni-app使用DES加密解密数据

    1 uni-app操作

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

      cd 切换到你项目的根目录

      执行命令 npm install crypto-js

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

    (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
    }

        

  • 相关阅读:
    C# WinForm 关于窗体最大化时的是否全屏效果与是否遮盖任务栏
    C# winform 无边框 窗体的拖动
    lenovo 联想笔记本ideapad 320c-15改装win7问题
    解决WIN7第一次开机冷启动QQ未响应的办法
    WIN10X64_LTSB2016极限精简版by双心
    RAMOS和SSD对比
    联想IDEAPAD 320C-15笔记本显卡驱动问题
    WIN7以上系统安装VB6的解决办法,附上个批处理。
    吐槽下银联1分钱乘公交
    QQ聊天框变成方框口口口口的解决办法
  • 原文地址:https://www.cnblogs.com/JahanGu/p/11358084.html
Copyright © 2011-2022 走看看