117.info
人生若只如初见

python rsa加密解密怎么实现

在Python中,可以使用cryptography库来实现RSA加密和解密。以下是一个示例:

from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import rsa, padding

# 生成RSA密钥对
private_key = rsa.generate_private_key(
    public_exponent=65537,
    key_size=2048,
    backend=default_backend()
)
public_key = private_key.public_key()

# 使用公钥加密
message = b"Hello, world!"
encrypted = public_key.encrypt(
    message,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

# 使用私钥解密
decrypted = private_key.decrypt(
    encrypted,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

print("原始消息:", message)
print("加密后:", encrypted)
print("解密后:", decrypted)

在上面的示例中,首先使用rsa.generate_private_key函数生成RSA密钥对。然后使用公钥对消息进行加密,使用私钥对加密后的数据进行解密。最后,打印出原始消息、加密后的数据和解密后的数据。

请注意,cryptography库需要事先安装,可以使用以下命令进行安装:

pip install cryptography

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe56dAzsLBQJXDFQ.html

推荐文章

  • python求组合数的方法是什么

    在Python中,可以使用math模块中的comb函数来求解组合数。comb函数的语法如下:
    math.comb(n, k) 其中,n为总数,k为选择的个数。comb函数将返回n个数中选取...

  • python怎么批量创建文件夹

    可以使用os模块中的mkdir()函数来批量创建文件夹。下面是一个简单的示例代码:
    import os # 批量创建文件夹
    def create_folders(folders): for folder...

  • python如何打印数组中的元素

    在Python中,可以使用for循环来打印数组中的元素。以下是一个示例:
    arr = [1, 2, 3, 4, 5] for element in arr: print(element) 上述代码中,数组arr中的每...

  • python怎么查找某个元素的索引

    Python中可以使用index()方法来查找某个元素的索引。该方法接受一个参数,即要查找的元素,返回该元素在列表中第一次出现的索引。如果列表中不存在该元素,则会抛...

  • nodejs环境安装和配置的方法是什么

    安装和配置Node.js环境的方法如下: 访问Node.js官方网站(https://nodejs.org/)下载对应操作系统的安装包。 执行安装包进行安装。根据操作系统选择合适的安装包...

  • golang调用shell命令失败怎么解决

    如果在Golang中调用shell命令失败,可以尝试以下几种解决办法: 检查命令是否正确:确保调用的shell命令是正确的,可以通过在终端中手动执行该命令来验证。 检查...

  • golang动态执行代码怎么实现

    在Go语言中,可以使用reflect包来实现动态执行代码。下面是一个简单的示例:
    package main import ( "fmt" "reflect"
    ) func main() { code := ` pack...

  • c++求和代码如何编写

    以下是一个简单的C++代码示例,用于计算从1到n的所有整数的和:
    #include int main() { int n; int sum = 0; std::cout > n; for (int i = 1; i