JQUERY

JS DES CBC加解密

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/

(0)
分享:

本文由:xiaoshu168 作者:xiaoshu发表,转载请注明来源!

标签:

相关阅读