JS前端接口加密/解密

Posted ejinxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS前端接口加密/解密相关的知识,希望对你有一定的参考价值。

CryptoJS (crypto.js) 为 javascript 提供加密和解密算法。目前已支持的算法包括

 

crypto, Hash, MD5, SHA1, SHA-1, SHA256, SHA-256, RC4, Rabbit, AES, DES, PBKDF2, HMAC, OFB, CFB, CTR, CBC, Base64

CryptoJS是一个纯javascript写的加密类库, 页面引用

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js" integrity="sha512-E8QSvWZ0eCLGk4km3hxSsNmGWbLtSCSUcewDQPQWZF6pEU8GlT8a5fF32wOl1i8ftdMhssTrF/OhyGWwonTcXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<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:"+CryptoJS.MD5("你好,MD5测试"));
  
</script>

HMAC-sha1 、HMAC-sha256、HMAC-md5等,用法如下

<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("你好,D5测试 Hmac-MD5:   "+CryptoJS.HmacMD5("你好,MD5测试",pwd));
  
</script>

AES 加密/解密

<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>
var words = CryptoJS.enc.Base64.parse("SGVsbG8sIFdvcmxkIQ==");
​
var base64 = CryptoJS.enc.Base64.stringify(words);
​
var words = CryptoJS.enc.Latin1.parse("Hello, World!");
​
var latin1 = CryptoJS.enc.Latin1.stringify(words);
​
var words = CryptoJS.enc.Hex.parse("48656c6c6f2c20576f726c6421");
​
var hex = CryptoJS.enc.Hex.stringify(words);
​
var words = CryptoJS.enc.Utf8.parse("𔭢");
​
var utf8 = CryptoJS.enc.Utf8.stringify(words);
​
var words = CryptoJS.enc.Utf16.parse("Hello, World!");
​
var utf16 = CryptoJS.enc.Utf16.stringify(words);
​
var words = CryptoJS.enc.Utf16LE.parse("Hello, World!");
​
var utf16 = CryptoJS.enc.Utf16LE.stringify(words);

参考:

CryptoJS - CryptoJS

以上是关于JS前端接口加密/解密的主要内容,如果未能解决你的问题,请参考以下文章

前端js 加密解密方式

前端js几种加密/解密方法

前端JS AES加密 后端PHP AES加解密

JAVA 前端用RSA.js加密 传到后端解密有乱码

js常用的加密/解密方法

三分钟撸完前后端crypto-js加解密,你学废了吗?