JS DES CBC加解密
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="js/core.js" ></script>
<script type="text/javascript" src="js/cipher-core.js" ></script>
<script type="text/javascript" src="js/tripledes.js" ></script>
<script>
function getResult(){
//待加密字符串
var str = document.getElementById("str").innerHTML;
//加密方法
var enResult = encryptByDES(str,'BOTWAVEE','BOTWAVEE');
//解密方法
var deResult = decryptByDES(enResult,'BOTWAVEE','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,key,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,
mode: CryptoJS.mode.CBC,
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/
本文由:xiaoshu168 作者:xiaoshu发表,转载请注明来源!