Python实现DES对称加密

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!'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值