JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64 - Python/JS实现
文章目录JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64 - Python/JS实现前言一、编码,加密?1. 什么是编码?2. 什么是加密?二、常见编码1.Base642. Base64 - JS实现3. Base64 - Python实现4.Unicode5.Urlencode三、线性散列算法(签名算法)MD51.MD5介绍2. MD5 - JS实现3. MD5 - Python实现四、安全哈希算法 SHAI1. SHAI - JS实现2. SHAI - Python实现五、散列消息鉴别码 HMAC1.HMAC - JS实现2. HMAC - Python实现六、对称加密 AES、DES1. AES,DES介绍2. AES - JS实现3. DES - JS实现4. DES - Python实现七、非对称加密RSA1. RSA介绍2. JS-代码示例总结前言本文仅仅介绍了常见的一些JS加密,并记录了JS和Python的实现方式
常见的加密算法基本分为这几类:
(1)base64编码伪加密
(2)线性散列算法(签名算法)MD5
(3)安全哈希算法 SHAI
(4)散列消息鉴别码 HMAC
(5)对称性加密算法 AES,DES
(6)非对称性加密算法 RSA
提示:以下是本篇文章正文内容,下面案例可供参考
一、编码,加密?1. 什么是编码?编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码;
2. 什么是加密?加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。
二、常见编码1.Base64base64是基于64个可打印ascii字符对任意字节数据进行编码算法,base64是一种编码方式而不是加密算法。只是看上去像是加密而已;
Base64使用A–Z,a–z,0–9,+,/ 这64个字符实现对数据进行加密。
2. Base64 - JS实现代码语言:javascript代码运行次数:0运行复制
// 创建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
// 定义字符串
var string = 'i am xz!';
// 加密
var encodedString = Base64.encode(string);
alert(encodedString);
// 解密
var decodedString = Base64.decode(encodedString);
alert(decodedString);
3. Base64 - Python实现代码语言:javascript代码运行次数:0运行复制import base64
str1 = 'i am xz'
str_encode = base64.b64encode(str1.encode())
print("Base64编码:", str_encode)
str_decode = base64.b64decode(str_encode)
print("Base64解码:", str_decode) 4.UnicodeUnicode是计算机中字符集,编码的一项业界标准,被称为统一码,万国码,表现形式一般以"\u"或""开头;
5.Urlencodeurlencode是URL编码,也称作百分号编码,用于把url的符号进行转换;
三、线性散列算法(签名算法)MD51.MD5介绍MD5是一种被广泛使用的线性散列算法,可以产生出一个128位(16字节)的散列值(hash value)。
特征:MD5加密之后产生的是一个固定长度(32位或16位)的数据,常规讲MD5是不存在解密的。
使用场景:注册账号时的密码一般都是用的MD5加密。
2. MD5 - JS实现代码语言:javascript代码运行次数:0运行复制
var str1 = 'i am xz'
var str_encode = md5(str1);
alert(str_encode) // 在弹窗中输出文本 f0404c7b9bff0bde8d6df8b64759960f
3. MD5 - Python实现代码语言:javascript代码运行次数:0运行复制import hashlib
str1 = 'i am xz'
m = hashlib.md5()
m.update(str1.encode('utf-8'))
str_encode = m.hexdigest()
print("MD5加密:", str_encode) # MD5加密: f0404c7b9bff0bde8d6df8b64759960f 四、安全哈希算法 SHAI1. SHAI - JS实现代码语言:javascript代码运行次数:0运行复制
var str1 = 'i am xz';
var str_encode = CryptoJS.SHA1(str1).toString(); // 注意:1是数字1
alert(str_encode) // 0e9f44d42516562396d7b8923542a6a4fc29cd5c