加密算法
一、加密算法
MD5 ,RSA,AES,DES,BASE
DES以64位为分组对数据加密,加密和解密用的是同一个算法.
RSA加密算法是一种非对称加密算法(在公开密钥加密和电子商业中RSA被广泛使用)
AES Rijndael加密法对称密钥加密中最流行的算法之一 (AES为分组密码)。
DES 算法为密码体制中的对称密码体制,(DES以64位为分组对数据加密,加密和解密用的是同一个算法.)
常见的加密方法:
1、Base64编码
Base64编码是一种用64个字符来表示任意二进制数据的方法
base64是python内置的模块可以直接进行base64的编码和解码
from base64 import *
a=b64encode(b"123456")
print(a)
b=b64decode(b"MTIzNDU2")
print(b)
2、MD5加密
MD5 定义:md5,是一种算法.可以将一个字符串,或文件,或压缩包,执行md5后,就可以
生成一个固定长度为128bit的串,这个串,基本上是唯一的。
由因为MD5模块在python3中被移除,在python3中使用hashlib模块进行md5操作
Hash,译做“散列”,也有直接音译为“哈希”的。把任意长度的输入,通过某种hash算法,
变换成固定长度的输出,该输出就是散列值,也称摘要值。该算法就是哈希函数,也称摘要函
数。MD5是最常见的摘要算法,速度很快,生成结果是固定的16字节,通常用一个32位的16
进制字符串表示。
第一种方发:
from hashlib import *
a=md5()
a.update(b"123456")
print(a.hexdigest())
第二种方法:
from hashlib import *
print(md5(b"123456").hexdigest())
sha256方法:
from hashlib import *
h=new("sha256",b"123456")
print(h.hexdigest())
sha384方法:
from hashlib import *
h=sha384()
h.update(bytes("admin",encoding="utf-8"))
print(h.hexdigest())
通过md5加密算法把随机生成的6位数验证码进行加密返回16进制的字符串
from random import *
from string import *
from hashlib import *
yzm=ascii_uppercase+ascii_lowercase+digits
a=sample(yzm,6)
a=map(str,a)
d="".join(a)
c=md5()
c.update(d.encode("utf-8"))
print(c.hexdigest())
浙公网安备 33010602011771号