码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript DES 加密

时间:2015-05-07 12:14:49      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:

最近做网页数据加密工作, 使用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>

 

JavaScript DES 加密

标签:

原文地址:http://www.cnblogs.com/MSMXQ/p/4484348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!