温馨提示×

python中rsa加密解密怎么实现

小亿
169
2024-01-09 17:54:50
栏目: 编程语言

在Python中,可以使用rsa库来实现RSA加密和解密。

首先,确保你已经安装了rsa库。可以使用以下命令进行安装:

pip install rsa

接下来,我们将分别介绍RSA加密和解密的实现方法。

RSA加密

import rsa

# 生成RSA公私钥对
(pubkey, privkey) = rsa.newkeys(2048)

# 将公私钥保存到文件
with open('public.pem', 'w+') as f:
    f.write(pubkey.save_pkcs1().decode())
    
with open('private.pem', 'w+') as f:
    f.write(privkey.save_pkcs1().decode())

# 加载公私钥
with open('public.pem', 'r') as f:
    pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())

with open('private.pem', 'r') as f:
    privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())

# 加密
message = 'Hello World!'
crypto = rsa.encrypt(message.encode(), pubkey)

# 输出加密后的结果
print(crypto)

在上述代码中,我们首先生成了一个2048位的RSA公私钥对,并将其保存到文件中。然后,我们加载公私钥,并使用公钥对明文进行加密,得到加密后的结果。

RSA解密

import rsa

# 加载私钥
with open('private.pem', 'r') as f:
    privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())

# 解密
message = rsa.decrypt(crypto, privkey).decode()

# 输出解密后的结果
print(message)

在上述代码中,我们加载了之前生成的私钥,并使用私钥对密文进行解密,得到解密后的明文。

注意:在实际使用时,需要将密文和公私钥保存到安全的地方,并且确保只有授权的用户可以访问私钥。

0