JavaScript加密庫Crypto-JS的使用


先來圖片一張,看看效果(一個采用Crypto-JS實現的加密/解密工具展示):

CryptoJS (crypto.js) 為 JavaScript 提供了各種各樣的加密算法。目前已支持的算法包括:

  • MD5
  • SHA-1
  • SHA-256
  • AES
  • Rabbit
  • MARC4
  • HMAC
    • HMAC-MD5
    • HMAC-SHA1
    • HMAC-SHA256
  • PBKDF2

散列/哈希

CryptoJS是一個純javascript寫的加密類庫(下載),我們使用它只需要加入相關的引用即可:

散列/哈希示例1:

<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/md5.js"></script>
<script type="text/javascript">

  alert("你好,這是一個MD5測試 MD5:"+CryptoJS.MD5("你好,這是一個MD5測試"));
  
</script>

點此編輯代碼並查看執行效果

上面就一行代碼就可以輕松搞定一個MD5的哈希,使用非常方便。

同樣,如果你想進行sha1、sha256等等諸多哈希算法,只需要引入相關的庫就行了。

對於 HMAC-sha1 HMAC-sha256、HMAC-md5等,用法是這樣:

散列/哈希示例2

<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/hmac-md5.js"></script>
<script type="text/javascript">
  var pwd="password";
  alert("你好這是一個MD5測試 Hmac-MD5:   "+CryptoJS.HmacMD5("你好這是一個MD5測試",pwd));
  
</script>

點此編輯代碼並查看執行效果

PBKDF2哈希算法

這里將PBKDF2算法單獨列出來,是因為他稍有不同,看如下代碼:

散列/哈希示例3

<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/pbkdf2.js"></script>
<script type="text/javascript">
  
  var salt=CryptoJS.enc.Utf8.parse("salt");  //鹽
  
  var iter=1000;  //迭代次數
  
  var mi=CryptoJS.PBKDF2("你好這是一個PBKDF2測試", salt,
			{ keySize: parseInt(4),
			iterations: parseInt(iter) }
			);
 
  alert("你好這是一個PBKDF2測試:----------哈希值:"+mi);
  
</script>

點此編輯代碼並查看執行效果

加密/解密

加密解密示例1:

<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/aes.js"></script>
<script type="text/javascript">
  var pwd="我的密碼";
  
  var mi=CryptoJS.AES.encrypt("你好,歡迎來到開源中國在線工具,這是一個AES加密測試",pwd);
  alert("你好這是一個AES加密測試----密文:"+mi);
  
  var result=CryptoJS.AES.decrypt(mi,pwd).toString(CryptoJS.enc.Utf8);
  
  alert("解密結果:"+result);
  
</script>

點此編輯代碼並查看執行效果

同樣的,幾種加密算法的使用方法都比較類似,需要使用哪個引入相關的js文件就ok了。

這里的在線加密/解密,散列/哈希工具是使用這個庫構建的:http://www.osctools.net/encrypt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM