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

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

时间2025-05-04 02:40:00分类IT科技浏览3491
导读: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是什么(掌握权威SEO技术,助您网站腾飞!) 网站seo视频教程(掌握SEO实战技巧,让你的网站飞速突围!)