JavaScript加密库Crypto-JS的使用

JavaScript加密库Crypto-JS的使用

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

  • MD5

  • SHA-1

  • SHA-256

  • AES

  • Rabbit

  • MARC4

  • HMAC

    • HMAC-MD5

    • HMAC-SHA1

    • HMAC-SHA256

  • PBKDF2

List of modules

  • crypto-js/core

  • crypto-js/x64-core

  • crypto-js/lib-typedarrays

  • crypto-js/md5

  • crypto-js/sha1

  • crypto-js/sha256

  • crypto-js/sha224

  • crypto-js/sha512

  • crypto-js/sha384

  • crypto-js/sha3

  • crypto-js/ripemd160

  • crypto-js/hmac-md5

  • crypto-js/hmac-sha1

  • crypto-js/hmac-sha256

  • crypto-js/hmac-sha224

  • crypto-js/hmac-sha512

  • crypto-js/hmac-sha384

  • crypto-js/hmac-sha3

  • crypto-js/hmac-ripemd160

  • crypto-js/pbkdf2

  • crypto-js/aes

  • crypto-js/tripledes

  • crypto-js/rc4

  • crypto-js/rabbit

  • crypto-js/rabbit-legacy

  • crypto-js/evpkdf

  • crypto-js/format-openssl

  • crypto-js/format-hex

  • crypto-js/enc-latin1

  • crypto-js/enc-utf8

  • crypto-js/enc-hex

  • crypto-js/enc-utf16

  • crypto-js/enc-base64

  • crypto-js/mode-cfb

  • crypto-js/mode-ctr

  • crypto-js/mode-ctr-gladman

  • crypto-js/mode-ofb

  • crypto-js/mode-ecb

  • crypto-js/pad-pkcs7

  • crypto-js/pad-ansix923

  • crypto-js/pad-iso10126

  • crypto-js/pad-iso97971

  • crypto-js/pad-zeropadding

  • crypto-js/pad-nopadding

官方网:https://code.google.com/archive/p/crypto-js/、https://www.npmjs.com/package/crypto-js

示例代码:

<script type="text/javascript" src="http://crypto-js.googlecode.com/files/2.0.0-crypto-md5.js"></script>
<script type="text/javascript">

var digest = Crypto.MD5("Message");

var digestBytes = Crypto.MD5("Message", { asBytes: true });
var digestString = Crypto.MD5("Message", { asString: true });

</script>

散列/哈希

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


未经允许请勿转载:程序喵 » JavaScript加密库Crypto-JS的使用

点  赞 (2) 打  赏
分享到: