JavaScript中的加密解密

一、Base64—数字、字母的加密解密

1.Base64概念

  • Base64,就是选出64个字符作为一个基本字符集(A-Z,a-z,0-9,+,/,再加上作为垫字的"=",实际是65个字符),其它所有符号都转换成这个字符集中的字符。

2.Base64的编码规则:

  • 第一步,将每三个字节作为一组,一共是24个二进制位。
  • 第二步,将这24个二进制位分为四组,每个组有6个二进制位。
  • 第三步,在每组前面加两个00,扩展成32个二进制位,即四个字节。
  • 第四步,得到扩展后的每个字节的对应符号,这就是Base64的编码值。

3. Base64解码规则:

  • 第一步,将每4个字符为一组,查找上表,找到每个字符对应的ASCII值
  • 第二步,将4个ASCII值写成二进制形式,并将每个二进制的前2个00去掉
  • 第三步,将剩下的24位二进制位分成3份,即3个字节
  • 第四步,查找ASCII值表(下表),找到每个字节对应的字符。

4.Base64常见用法

  • Base64.btoa()----------加密
  • Base64.atob()----------解密
  • Base64.encode()------加密
  • Base64.decode()------解密
	<script src="https://cdn.jsdelivr.net/npm/js-base64@3.6.0/base64.min.js"></script>
	var num = Base64.btoa("nan chu 123");
	console.log(num);
	console.log(Base64.atob(num));
	var num1 = Base64.encode("nan chu 64");
	console.log(num1);
	console.log(Base64.decode(num));

在这里插入图片描述

  • 注:不能加密汉字

二、escape()加密----汉字的解密

  • escape()------加密
	var s = escape("删除");
	console.log(s);//%u5220%u9664

三、unescape()解密----汉字的加密解密

    console.log(unescape(s));//删除 

四、UIR加密(针对路径)-----汉字的加密解密

(1)encodeURIComponent()----加密

	var t = encodeURIComponent("删除");
	console.log(t);//%E5%88%A0%E9%99%A4

(2)decodeURIComponent()----解密

    console.log(decodeURIComponent(t)); //删除

五、md5加密—只能加密不能解密

  • 首先引入md5的代码
<script src="js/md5.js"></script> 
<script>
    console.log(b64_md5('abc'));//kAFQmDzST7DWlj99KOF/cg
    console.log(hex_md5('abc'));//900150983cd24fb0d6963f7d28e17f72
    console.log(str_md5('abc'));//P˜<ÒO°Ö–?}(ár 
</script> 

六、AES/DES加密解密—得使用密钥

<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script> 
<script> 
//加密
    console.log(CryptoJS.MD5("你好").toString());//7eca689f0d3389d9dea66ae112e5cfd7
    var key="12345";
    var msg="我abc";
    //加密
    console.log(CryptoJS.AES.encrypt(msg, key).toString());//U2FsdGVkX1+j873Bzg4w7onvkXM48Cpe9sq25ScfsSA=
    //解密
    console.log(CryptoJS.AES.decrypt("U2FsdGVkX1+j873Bzg4w7onvkXM48Cpe9sq25ScfsSA=",
key).toString(CryptoJS.enc.Utf8));//我abc 
</script>
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南初️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值