首页IT科技前端加密算法(前端数据加密的几种方式)

前端加密算法(前端数据加密的几种方式)

时间2025-06-20 16:20:38分类IT科技浏览3925
导读:1.base64加密方式...

1.base64加密方式

1.1 base64是什么?

Base64            ,顾名思义                   ,就是包括小写字母a-z             、大写字母A-Z                  、数字0-9      、符号"+"             、"/"一共64个字符的字符集      ,(另加一个“=            ”      ,实际是65个字符                   ,至于为什么还会有一个“="             ,这个后面再说)             。任何符号都可以转换成这个字符集中的字符      ,这个转换过程就叫做base64编码                  。

1.2 base64转码和解码

<script>

       let str = ImGod;

       let str64 = window.btoa(str);

       console.log(转化后:+str64);

       let jm = window.atob(str64);

       console.log(解码后:+jm);

    </script>

结果:

2.MD5 加密方式(不可逆)

 MD5是一种被广泛使用的密码散列函数                  ,可以产生出一个128位(16字节)的散列值(hash value)             ,用于确保信息传输完整一致      。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开                  ,用以取代MD4算法             。

MD5.JS是通过前台js加密的方式对密码等私密信息进行加密的工具                   。

2.1使用方法

1.引入 

 <script src="https://cdn.bootcss.com/blueimp-md5/2.12.0/js/md5.min.js"></script>

2.示例

<script>

        // MD5加密方式

        // hex_md5(data);//data表示你要加密的数据

        let str = abc;

        let newStr = md5(str);

        console.log(newStr);

    </script>

结果:

3.sha1.js (不可逆)

3.1 sha1是什么?

SHA-1是一种数加密算法                   ,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文            ,也可以简单的理解为取一串输入码(称为预映射或信息)                   ,并把它们转化为长度较短                   、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程      。

3.2 引入

  <script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>

目前没有在网上没找到下载地址      ,只能在线引入      。

3.3 示例

<script>

        //sha1加密方式

        let str = abcd;

        let sha_1 = sha1(str);

        console.log(sha_1);

    </script>

结果:

4.编码和解码字符串

这个主要是使用JS函数的escape()和unescape()            ,分别是编码和解码字符串                   。

escape采用ISO Latin字符集对指定的字符串进行编码            。所有的空格符      、标点符号      、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)

在很多脚本语言的应用当中,escape函数是一个可转换编码的函数,比如javascript 的 ajax 中,向a.php传递参数?city=北京,可先将"北京"用escape重新编码,再进行传递,在服务器端接收后再解码才不会出现乱码      。escape一般用于传递URL参数和类似urlencode base64_encode函数是类似的                   。

 4.1 示例

 <script>

        //编码和解码字符串

        let str = 在山的那边;

        let str1 = escape(str);

        let str2 = unescape(str1)

        console.log(编码:+str1);

        console.log(解码:+str2);

    </script>

结果:

5. AES/DES加解密方式 

对称加密算法是应用较早的加密算法                   ,技术成熟            。在对称加密算法中      ,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后      ,使其变成复杂的加密密文发送出去。收信方收到密文后                   ,若想解读原文             ,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密      ,才能使其恢复成可读明文                   。在对称加密算法中                  ,使用的密钥只有一个             ,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥                  。

5.1 优缺点

 优点:算法公开                   、计算量小            、加密速度快      、加密效率高。

         缺点:

(1)交易双方都使用同样钥匙                  ,安全性得不到保证             。

(2)每对用户每次使用对称加密算法时                   ,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长            ,密钥管理成为用户的负担                  。对称加密算法在分布式网络系统上使用较为困难                   ,主要是因为密钥管理困难      ,使用成本较高      。

5.2 示例

 <script type="text/javascript">

        var aseKey = "12345678" //秘钥必须为:8/16/32位

        var message = "13785624612";

        //加密

        var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {

            mode: CryptoJS.mode.ECB,

            padding: CryptoJS.pad.Pkcs7

        }).toString();

        console.log(encrypt);

        //解密

        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); //13785624612

    </script>

结果:

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
SEO人员需要掌握的基础知识(打造优化策略,提升网站排名)