JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64 - Python/JS实现
文章目录
前言
一、编码,加密?
1. 什么是编码?
2. 什么是加密?
二、常见编码
1.Base64
2. Base64 - JS实现
3. Base64 - Python实现
4.Unicode
5.Urlencode
三、线性散列算法(签名算法)MD5
1.MD5介绍
2. MD5 - JS实现
3. MD5 - Python实现
四、安全哈希算法 SHAI
1. SHAI - JS实现
2. SHAI - Python实现
五、散列消息鉴别码 HMAC
1.HMAC - JS实现
2. HMAC - Python实现
六、对称加密 AES、DES
1. AES,DES介绍
2. AES - JS实现
3. DES - JS实现
4. DES - Python实现
七、非对称加密RSA
1. RSA介绍
2. JS-代码示例
总结
前言
本文仅仅介绍了常见的一些JS加密,并记录了JS和Python的实现方式
常见的加密算法基本分为这几类:
(1)base64编码伪加密
(2)线性散列算法(签名算法)MD5
(3)安全哈希算法 SHAI
(4)散列消息鉴别码 HMAC
(5)对称性加密算法 AES,DES
(6)非对称性加密算法 RSA
提示:以下是本篇文章正文内容,下面案例可供参考
一、编码,加密?
1. 什么是编码?
编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码;
2. 什么是加密?
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。
二、常见编码
1.Base64
base64是基于64个可打印ascii字符对任意字节数据进行编码算法,base64是一种编码方式而不是加密算法。只是看上去像是加密而已;
Base64使用A–Z,a–z,0–9,+,/ 这64个字符实现对数据进行加密。
2. Base64 - JS实现
<html>
<script type="text/javascript">
// 创建Base64对象
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&