zoukankan      html  css  js  c++  java
  • JavaScript DES 加密

    最近做网页数据加密工作, 使用CryptoJS v3.1.2 这个JavaScript脚本,网上比较有质量的文章实在太少,经验证加密结果与Asp.net DES加密结果一致

    参考文章

    https://gist.github.com/ufologist/5581486

    CryptoJS v3.1.2下载地址

    https://code.google.com/p/crypto-js/downloads/list

    例子 如下

    <html>
        <head>
            <meta http-equiv="content-type" content="text/html; charset=UTF-8">
            <title>JS设置DES加密处理</title>
            <script type="text/javascript" src="js/jquery.min.js"></script>
            <script src="js/rollups/tripledes.js"></script>
            <script src="js/components/mode-ecb.js"></script>
            <script>
                 //DES 解密 加密
                function encryptByDES(message, key) {
                        var keyHex = CryptoJS.enc.Utf8.parse(key);
                        var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
                            mode: CryptoJS.mode.ECB,
                            padding: CryptoJS.pad.Pkcs7
                        });
                        return encrypted.toString();
                    }
                    //DES 解密
    
                function decryptByDES(ciphertext, key) {
                    var keyHex = CryptoJS.enc.Utf8.parse(key);
                    // direct decrypt ciphertext
                    var decrypted = CryptoJS.DES.decrypt({
                        ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
                    }, keyHex, {
                        mode: CryptoJS.mode.ECB,
                        padding: CryptoJS.pad.Pkcs7
                    });
                    return decrypted.toString(CryptoJS.enc.Utf8);
                }
            </script>
            <script>
                 //加密
                function encryptStr() {
                        var strKey = $.trim($('#key').val());
                        var strMsg = $.trim($('#text1').val());
                        $('#text2').val(encryptByDES(strMsg, strKey));
                    }
                    //解密
    
                function decryptStr() {
                    var strKey = $.trim($('#key').val());
                    var ciphertext = $.trim($('#text2').val());
                    $('#text3').val(decryptByDES(ciphertext, strKey));
                }
            </script>
        </head>
    
        <body>
            <h1>JS设置DES加密处理</h1>
            <label>key</label>
            <input type="text" value='12345678' id="key" />
            <div>
                <textarea id="text1" placeholder="请输入需要加密的字符">abcde12345这个中文!@#!@$#%$#^%(":''")[]=_-</textarea>
                <input type="button" value="加密" onclick="encryptStr();" />
                <textarea id="text2"></textarea>
                <input type="button" value="解密" onclick="decryptStr();" />
                <textarea id="text3"></textarea>
            </div>
        </body>
    </html>
  • 相关阅读:
    Win7 64位 php-5.5.13+Apache 2.4.9+mysql-5.6.19 配置
    C# .NET 使用第三方类库DotNetZip解压/压缩Zip rar文件
    64位window7,php5.5.10 +IIS7 配置
    eclipse下编译openfire3.9.1源码
    asp.net 解决IE11下 From身份验证失效问题
    MySQL 数据类型 详解
    ASP.NET安全
    Microsoft Anti-Cross Site Scripting Library V4.2 下载地址
    Entityframework Core去掉外键
    VS2019发布Docker实践
  • 原文地址:https://www.cnblogs.com/MSMXQ/p/4484348.html
Copyright © 2011-2022 走看看