JS使用Crypto-JS实现MD5、Base64等加密算法
JS使用Crypto-JS实现MD5、Base64等加密算法
一、需求分析
前台对接后台接口时需要,生成一个MD5加密的签名参数,验签成功才能调用接口。
在线MD5生成 https://www.cmd5.com/hash.aspx?s=123456
123456
md5: e10adc3949ba59abbe56e057f20f883e
md5(md5($pass)): 14e1b600b1fd579f47433b88e8d85291
md5(md5(md5($pass))): c56d0e9a7ccec67b4ea131655038d604
md5(unicode): ce0bfd15059b68d67688884d7a3d3e8c
md5(base64): 4QrcOUm6Wau+VuBX8g+IPg==
通过在线测试可知,接口需要的格式为md5(base64)。这个的意思是先md5加密,再base64加密。
接口文档写的只用md5显然是不对的 FUCK~~
二、Crypto-JS使用方法
Crypto-JS官方网址(需要FQ) https://code.google.com/p/crypto-js
Github地址 https://github.com/brix/crypto-js
BootCDN地址(推荐使用) https://www.bootcdn.cn/crypto-js
- 代码示例
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<!--相当于引入了所有的加密方式,也可以只引用自己需要的-->
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.js"></script>
<!--
单独引用之前需要引入core.js
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/core.js"></script>
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/md5.js"></script>
-->
</head>
<body>
<script type="text/javascript">
var str = "123456";
//MD5
var hash = CryptoJS.MD5(str);
console.log('md5加密前'+str+'\t md5加密后'+hash);
//Base64
var base64String = CryptoJS.enc.Base64.stringify(hash);
console.log('Base64加密前'+hash+'\t Base64加密后'+base64String);
/*
md5加密前123456 md5加密后e10adc3949ba59abbe56e057f20f883e
crypto.html:34 Base64加密前e10adc3949ba59abbe56e057f20f883e Base64加密后4QrcOUm6Wau+VuBX8g+IPg==
*/
</script>
</body>
</html>
参考文档:
-------------已经触及底线 感谢您的阅读-------------