Python 对称加密

转载:https://www.cnblogs.com/pywen/p/15831353.html

from pyDes import des, CBC, PAD_PKCS5
import binascii


def KEY_8(KEY):
    if len(KEY) > 8:
        KEY = KEY[0:8]
    else:
        while len(KEY) < 8:
            KEY = KEY + ' '
    return KEY


def des_encrypt(s, KEY):
    secret_key = KEY_8(KEY)
    iv = secret_key
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    en = k.encrypt(s, padmode=PAD_PKCS5)
    return binascii.b2a_hex(en).decode()


def des_descrypt(s, KEY):
    secret_key = KEY_8(KEY)
    iv = secret_key
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5)
    return de.decode()


if __name__ == '__main__':
    # strOrigin 秘钥
    KEY = 'mykey'
    strOrigin = "abcdefg-888-dddabcdefg-888-dddabcdefg-888-ddd"

    # 加密
    res = des_encrypt(strOrigin, KEY)
    print(res)

    # 解密
    res2 = des_descrypt(res, KEY)
    print(res2)
posted @   xdd1997  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2020-11-17 网页单击链接调用本地邮箱软件发邮件
点击右上角即可分享
微信分享提示