加密算法

一、加密算法

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())


 


 

posted @ 2021-01-17 22:51  看破丶红尘  阅读(506)  评论(0)    收藏  举报