JS使用Crypto-JS实现MD5、Base64等加密算法

JS使用Crypto-JS实现MD5、Base64等加密算法

一、需求分析

前台对接后台接口时需要,生成一个MD5加密的签名参数,验签成功才能调用接口。

image

在线MD5生成 https://www.cmd5.com/hash.aspx?s=123456

1
2
3
4
5
6
7
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官方网址(需要翻墙) https://code.google.com/p/crypto-js

Github地址 https://github.com/brix/crypto-js

BootCDN地址(推荐使用) https://www.bootcdn.cn/crypto-js

  • 代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!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>

参考文档:

https://blog.zhengxianjun.com/2015/05/javascript-crypto-js/

https://www.cnblogs.com/lz2017/p/8046816.htm


PS: 2019年12月19日, 本站文章数量已突破200大关 吼吼吼~~

-------------已经触及底线 感谢您的阅读-------------

本文标题:JS使用Crypto-JS实现MD5、Base64等加密算法

文章作者:趙小傑~~

发布时间:2019年12月19日 - 11:36:55

最后更新:2020年03月01日 - 19:50:39

原始链接:https://cnsyear.com/posts/69cb8e93.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%