Rumah  >  Artikel  >  hujung hadapan web  >  javascript加密方法有哪些

javascript加密方法有哪些

青灯夜游
青灯夜游asal
2021-04-25 18:35:037416semak imbas

加密方法有:1、使用“window.btoa(值)”语句进行加密;2、使用hex_md5()、b64_md5()、str_md5()等函数进行加密;3、使用sha1()函数进行加密;4、使用escape()函数进行加密;5、利用AES加密。

javascript加密方法有哪些

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

一、base64加密

示例

<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:
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.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的格式

其他

RSA加密

【推荐学习:javascript高级教程

Atas ialah kandungan terperinci javascript加密方法有哪些. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:javascript包括什么Artikel seterusnya:java和javascript有什么区别