JavaScript中的加密解密

  • 一、Base64---数字、字母的加密解密
    • 1.Base64概念
    • 2.Base64的编码规则:
    • 3. Base64解码规则:
    • 4.Base64常见用法
  • 二、escape()加密----汉字的解密
  • 三、unescape()解密----汉字的加密解密
  • 四、UIR加密(针对路径)-----汉字的加密解密
    • (1)encodeURIComponent()----加密
    • (2)decodeURIComponent()----解密
  • 五、md5加密---只能加密不能解密
  • 六、AES/DES加密解密---得使用密钥

一、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/cgconsole.log(hex_md5('abc'));//900150983cd24fb0d6963f7d28e17f72console.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());//7eca689f0d3389d9dea66ae112e5cfd7var 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>

JavaScript中的加密解密相关推荐

  1. JavaScript 自写加密解密函数

    JavaScript 自写加密解密函数 版权声明:本文为CSDN博主「zshsats」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https:// ...

  2. C#开发中关于加密解密字符串的使用方法

    C#开发中关于加密解密字符串的使用方法 C#加密解密字符串方法 首先在web.config | app.config 文件下增加如下代码: <?xml version="1.0&quo ...

  3. JavaScript中md5加密基础使用方法

    关于JavaScript中md5加密使用方法重点 不说别的,先上代码,代码其实不难,更多需要理解 //这边是前端代码 <form class="loginForm" acti ...

  4. java rsa 解密_Java中RSA加密解密的实现方法分析

    本文实例讲述了Java中RSA加密解密的实现方法.分享给大家供大家参考,具体如下: public static void main(String[] args) throws Exception { ...

  5. Javascript实现AES加密解密(ECB/CBC)

    环境配置 js文件https://code.google.com/archive/p/crypto-js/downloads 在线AES加密解密地址http://tool.chacuo.net/cry ...

  6. Java中3DES加密解密示例

    在java中调用sun公司提供的3DES加密解密算法时,需要使用到$JAVA_HOME/jre/lib/目录下如下的4个jar包: jce.jar security/US_export_policy. ...

  7. .Net中的加密解密

    引言 在一些比较重要的应用场景中,通过网络传递数据需要进行加密以保证安全.本文将简单地介绍了加密解密的一些概念,以及相关的数字签名.证书,最后介绍了如何在.NET中对数据进行对称加密和解密. 加密和解 ...

  8. PHP7.2中AES加密解密方法mcrypt_module_open()替换方案

    直接粘代码,该类是基于微信公众号消息加密解密所提供的PHP DEMO改造而来,目前使用于彬彬大学APP接口token校验中. php的mcrypt 扩展已经过时了大约10年,并且用起来很复杂.因此它被 ...

  9. 网络通信中的加密解密及openssl和创建私有CA详解

    本文大纲: 1.为什么网络通信要进行数据加密? 2.数据加密方式有哪些?它们是如何进行加密的? 3.通信中是如何进行数据加密传输的? 4.https方式进行数据传输的具体流程 5.SSL 的实现工具O ...

  10. Android中RAS加密解密

    转载请注明出处: http://blog.csdn.net/bbld_/article/details/38777491 概述 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实: ...

最新文章

  1. [Python爬虫] 之二十二:Selenium +phantomjs 利用 pyquery抓取界面网站数据
  2. CentOS PPTP ×××
  3. java短_Java中的最短代码和最低延迟
  4. springmvc-返回值
  5. element selection选中变颜色_Excel | 聚光灯效果(阅读模式)——改变当前行和列的颜色...
  6. 视频干扰的原因及解决方法
  7. C++之try,throw,catch探究
  8. iOS开发日记19-7.0之后的截屏方法
  9. java递归遍历文件夹_java递归遍历获取目录下所有文件
  10. UE官网ARPG游戏学习笔记1
  11. python基于opencv的手势识别_求python opencv 手势识别源代码
  12. 阿里巴巴Java开发手册github地址
  13. git报错 git libpng warning: iCCP以及fatal: Authentication failed for ‘https://git.weixin.qq.com‘
  14. cv2.cv2.findContours opencv-python
  15. java表示一个数的二进制数,怎么表示一个二进制数?
  16. 百度编辑器对H5代码修改
  17. 有车一族 教你如何防止被电子眼拍到
  18. AE不能直接拖素材进来了,只能通过导入的方式,不知道是哪里出问题了?
  19. 前端面试题:JS中的原型和原型链
  20. 福利: 安卓上运行Python爬虫

热门文章

  1. 单片机跑马灯源代码+仿真
  2. wireless 大作业 linux,Wire/Wireless Network Configuration in Linux
  3. 高等数学在计算机中的应用论文1500字,大学高等数学论文范文
  4. 通达OA智能开发平台CRM系统 实现数据的自动计算
  5. sql服务器数据库主文件,数据库文件和文件组
  6. PostgreSQL如何自动更新时间戳?
  7. 14_python_练习题——excel操作
  8. 如何打开屏幕坏的手机_手机屏幕坏了如何打开usb调试
  9. CF914D Bash and a Tough Math Puzzle 线段树
  10. 服务器内存检测维修工具,使用edac工具来检测服务器内存故障.