20231001_python练习_rsa加密解密练习

import rsa
from binascii import b2a_hex, a2b_hex

#加密函数
def encrypt(text):
    # 计算文本数量
    i_num = sheng_num(text)
    # 获取密钥
    pubkey, prikey = rsa.newkeys(i_num)
    #加密字符串
    ciphertext = rsa.encrypt(text.encode("utf-8"), pubkey)
    # 把加密后的字符串转化为16进制字符串
    return b2a_hex(ciphertext),prikey

#计算
def sheng_num(text):
    for i in range(len(text)* 3):
        if i*8-11 >= len(text)* 3:break
    return i*8*8

#解密函数
def decrypt(text,prikey):
    decrypt_text = rsa.decrypt(a2b_hex(text), prikey)
    return decrypt_text.decode()

#代码
text = '张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权张三李四强强侵权'

ency_text,prikey = encrypt(text)
print("加密后:%s" % ency_text)

decy_text = decrypt(ency_text,prikey)
print("解密后:%s" % decy_text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值