python加密之cryptography库,pyDes库

本文探讨了Python中cryptography库的Fernet加密模块与pyDes库的DES算法,通过实例展示了如何使用Fernet进行加密和解密,以及pyDes库如何实现8字节秘钥的DES加密与解密过程。
摘要由CSDN通过智能技术生成

python库之cryptography加密简单运用

cryptography加密

from cryptography.fernet import Fernet

# 生成秘钥cipher_key
cipher_key = Fernet.generate_key()
print(cipher_key)
cipher = Fernet(cipher_key)
text = b'your email pwd'
# 进行加密
encrypted_text = cipher.encrypt(text)
print(encrypted_text)
# 进行解密
decrypted_text = cipher.decrypt(encrypted_text)
print(decrypted_text)

![(https://img-blog.csdnimg.cn/28b7721a59d94f399a81f582fcd1c0e0.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VyZ3VkYWk=,size_16,color_FFFFFF,t_70)

pyDes库

from pyDes import des, CBC, PAD_PKCS5
import binascii

# 秘钥
KEY = 'wqedxafq'

def des_encrypt(s):
    """
    DES 加密
    :param s: 原始字符串
    :return: 加密后字符串,16进制
    """
    secret_key = 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)

def des_descrypt(s):
    """
    DES 解密
    :param s: 加密后的字符串,16进制
    :return:  解密后的字符串
    """
    secret_key = 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

test = des_encrypt("paji")
print(test)
print(des_descrypt(test))

局限性:密钥长度必须为8个字符串

参考文档

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值