1. 程式人生 > 其它 >js幾種加密/解密方法

js幾種加密/解密方法

<html>
    <head>
        <title>前端的base64使用方法</title>
    </head>
    <body>
    </body>
<script>
var str = "hello";
var str64 = window.btoa("hello");
console.log("字串是:"+str);
console.log("經base64編碼後:"+str64);
console.log("base64解碼後:"+window.atob(str64));
</script> </html>
二、MD5加密(不可逆)
MD5的github地址
關於MD5:
MD5.js是通過前臺js加密的方式對使用者資訊,密碼等私密資訊進行加密處理的工具,也可稱為外掛。

MD5共有6種加密方法:
1, hex_md5(value)
2, b64_md5(value)
3, str_md5(value)
4, hex_hmac_md5(key, data)
5, b64_hmac_md5(key, data)
6, str_hmac_md5(key, data)

md5程式碼下載地址——點此下載
下載好了用script 標籤引入使用

<script src="md5/md5.js"></script>"></script> <script> var code = "123456"; var username = "123456"; var password = "123456"; var str1 = hex_md5("123456"); var str2 = b64_md5("123456"); var str3 = str_md5("123456");
var str4 = hex_hmac_md5(code,code); var str5 = b64_hmac_md5(username,username); var str6 = str_hmac_md5(password,password); console.log(str1); // e10adc3949ba59abbe56e057f20f883e console.log(str2); // 4QrcOUm6Wau+VuBX8g+IPg console.log(str3); // áÜ9IºY«¾VàWò��> console.log(str4); // 30ce71a73bdd908c3955a90e8f7429ef console.log(str5); // MM5xpzvdkIw5VakOj3Qp7w console.log(str6); // 0Îq§;Ý��9U©��t)ï </script>
三、sha1加密(不可逆)
sha1的github地址
此處沒找到sha1.js下載地址,所以在bootcdn中找線上檔案到引入,需要的可自行從bootcdn中下載

<script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>
<script type="text/javascript">
        var sha1_1 = sha1("mosquito~");
        console.log(sha1_1);
        var sha1_2 = sha1("admin:1001");
        console.log(sha1_2);
</script>
四、編碼和解碼字串
使用JS函式的escape()和unescape(),分別是編碼和解碼字串

<script type="text/javascript">
      var escape1 =escape("我的名字是:mosquito~");//編碼
      console.log(escape1);
      var unescape1 = unescape(escape1); //解碼
      console.log(unescape1);
</script>  
五、AES/DES加密解密
下載crypto-js.js 引入使用 網址是點選下載

var aseKey = "12345678"     //祕鑰必須為:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {
  mode: CryptoJS.mode.ECB,
  padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt);    //VKrZlqykem73x8/T2oCfCQ==
 
//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {
  mode: CryptoJS.mode.ECB,
  padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt);    //80018000142
 
【注】:加密的時候必須轉成字串 使用toString。 解密的時候 必須使用utf8的格式
五、AES/DES加密解密
下載crypto-js.js 引入使用 網址是點選下載

var aseKey = "12345678"     //祕鑰必須為:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {
  mode: CryptoJS.mode.ECB,
  padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt);    //VKrZlqykem73x8/T2oCfCQ==
 
//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {
  mode: CryptoJS.mode.ECB,
  padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt);    //80018000142
 
【注】:加密的時候必須轉成字串 使用toString。 解密的時候 必須使用utf8的格式

sha256 js 前端加密

參考地址;https://blog.csdn.net/sirobot/article/details/107159829