JS DES CBC加解密

前端之家收集整理的这篇文章主要介绍了JS DES CBC加解密前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

JS DES CBC加解密


Meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
     
        <script>        
function getResult(){  
//待加密字符串  
var str = document.getElementById("str").innerHTML;   
//加密方法            
var  enResult = encryptByDES(str,'BOTWAVEE','BOTWAVEE');  
//解密方法  
var deResult = decryptByDES(enResult,'BOTWAVEE');  
//展示结果  
document.getElementById("enStr").innerHTML = enResult;   
document.getElementById("dnStr").innerHTML = deResult;   
}  

function encryptByDES(message,key,iv) {
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var ivHex = CryptoJS.enc.Utf8.parse(iv);
    encrypted = CryptoJS.DES.encrypt(message, keyHex, {
            iv:ivHex,mode: CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7
        }
    );
    return encrypted.ciphertext.toString();
}

    //DES  CBC模式解密
    function decryptByDES(ciphertext,iv) {
        //把私钥转换成UTF - 8编码的字符串
        var keyHex = CryptoJS.enc.Utf8.parse(key);
        var ivHex = CryptoJS.enc.Utf8.parse(iv);
        var decrypted = CryptoJS.DES.decrypt({
        ciphertext: CryptoJS.enc.Hex.parse(ciphertext)
        },keyHex,{
iv:ivHex,padding: CryptoJS.pad.Pkcs7
});
        return decrypted.toString(CryptoJS.enc.Utf8);
    }
    </script>  
</head>  
<body>  
<input type="button" value="获取加密结果与解密结果" onclick="getResult()" />  
    <table>  
        <tr>  
          <td align="left">字符串:</td>  
          <td><span id="str">admin</span></td>         
        </tr>  
        <tr>  
          <td align="left">加密结果:</td>  
          <td align="left"><label id = "enStr"></label></td>  
        </tr>  
        <tr>  
          <td align="left">解密结果: </td>  
          <td align="left"><label id = "dnStr"></label></td>  
        </tr>  
    <table>  
</body>  
</html>

js下载地址链接

https://pan.baidu.com/s/1Qx9OkpJU8WJKXklg2Yo1bA 

提取码: epxf 

更多加解密文件下载地址https://cdnjs.com/libraries/crypto-js/

猜你在找的jQuery相关文章