您的位置:首页 > Web前端 > javascript

JavaScript中实现AES加密解密

更多 2016/8/4 来源:javascript学习浏览量:1664
学习标签: JavaScript
本文导读:在ASP.NET、JAVA等编程中,有很多种加密解密的方法,其中包括AES加解密的方式,实现起来也非常容易,如果想要在JS中应用加密解密,我们该如何实现呢?下面介绍两种在JavaScript中实现AES加密解密的方法

方式一、加解密时需要秘钥(key)和秘钥偏移量(iv)

 

1、下载AES加密解密插件 (aes_1.js)

下载地址:https://github.com/hellobajie/AES-of-JavaScript

 

2、将该js文件引用到项目中

 

3、实例

 
 
 
 
HTML 代码   复制

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>需要秘钥(key)及秘钥偏移量(iv)的aes加解密</title>
</head>
<body>
    <script src="aes_1.js"></script>  
    <script>

        var key = CryptoJS.enc.Utf8.parse("十六位十六进制数作为秘钥");  
        var iv  = CryptoJS.enc.Utf8.parse('十六位十六进制数作为秘钥偏移量');  
        function Encrypt(word){
            srcs = CryptoJS.enc.Utf8.parse(word);
            var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
            return encrypted.ciphertext.toString().toUpperCase();
        }

        function Decrypt(word){  
            var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
            var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
            var decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
            var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); 
            return decryptedStr.toString();
        }

        var mm = Encrypt('nihao')
        console.log(mm);
        var jm = Decrypt(mm);
        console.log(jm)
    </script>
</body>
</html>

 

 

方式二、加解密时仅需要秘钥

 

1、下载AES加密解密插件 (aes_2.js)

下载地址:https://github.com/hellobajie/AES-of-JavaScript

 

2、将该js文件引用到项目中

 

3、实例

 
 
 
HTML 代码   复制

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>加解密时仅需要秘钥</title>
</head>
<body>
    <script src="aes_2.js"></script>  
    <script type="text/javascript">
        var pwd="秘钥";

        function Encrypt(word){
            return CryptoJS.AES.encrypt(word,pwd).toString();
        }

        function Decrypt(word){
            return CryptoJS.AES.decrypt(word,pwd).toString(CryptoJS.enc.Utf8);
        }

        var mm = Encrypt('nihao');
        console.log(mm)
        var jm = Decrypt(mm);
        console.log(jm)
       
    </script>
</body>
</html>

 

收藏
171
很赞
476
您可能感兴趣