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

推荐文章

  • linux的python如何进行进程管理

    在Linux中,可以使用Python的内置库os和subprocess进行进程管理 使用os.system()执行外部命令: import os # 执行外部命令,例如:ls
    os.system("ls") 使用...

  • linux的python怎样进行系统调用

    在Linux中,Python可以通过os和sys库进行系统调用 使用os库: os库提供了许多与操作系统交互的函数。例如,要使用os.system()执行系统命令,可以这样做:
    i...

  • python中set怎样进行集合排序

    在Python中,可以使用sorted()函数对集合(set)进行排序。sorted()函数返回一个排序后的列表(list),而不是集合,因为集合本身是无序的。以下是一个示例:

  • python中set如何进行集合转换

    在Python中,可以使用集合(set)的内置方法进行集合转换。以下是一些常用的集合转换方法: 将列表转换为集合: my_list = [1, 2, 3, 4, 5]
    my_set = set(m...

  • 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