Python实现DES对称加密
DES全称为Data Encryption Standard,即数据加密标准,是一种对称的加密算法,通过密钥可以还原密码明文。
主要应用场景
1、配置文件填写的敏感信息,包括数据库连接串、FTP连接串,以及其他中间件的链接信息;
2、网站平台的用户密码管理,对于考虑密码支持还原的平台可以考虑(通常使用MD5加密为主);
3、个人信息的密码管理,由于各类应用、平台账号太多,通过文明存放不安全,笔者就是对密码加密后保存,避免敏感信息直接泄漏。
Python代码实现
import base64
from pyDes import *
Des_Key = "TestWord" # Key
Des_IV = "12345678" # 自定IV向量
# 对指定字符进行加密
def DesEncrypt(code, key=None, iv=None):
if key is None:
key=Des_Key
if iv is None:
iv=Des_IV
k = des(key, CBC, iv, pad=None, padmode=PAD_PKCS5)
EncryptStr = k.encrypt(code)
return base64.b64encode(EncryptStr) #转base64编码返回
# 对密文进行解密
def DesDecrypt(encode, key=None, iv=None):
if key is None:
key=Des_Key
if iv is None:
iv=Des_IV
k = des(key, CBC, iv, pad=None, padmode=PAD_PKCS5)
b64str = base64.b64decode(encode)
return k.decrypt(b64str)
1、调用加密函数获取密文:
code = DesEncrypt("I learn python in CSDN!")
print(code)
执行结果:
b'fvdwSKyrW4venmw0nq32FCbAprES6/dS'
2、调用解密函数获取明文:
word = DesDecrypt("fvdwSKyrW4venmw0nq32FCbAprES6/dS")
print(word)
执行结果:
b'I learn python in CSDN!'