python RSA 易简

1.  sudo easy_install rsa

2. 生成密钥文件(默认在用户根目录的“.ssh”文件夹:ssh-keygen -t rsa

3. 使用生成的:“id_rsa”文件进行加解密

4. python 代码:

def crypt(data, is_encrypt=True):

    '''
    加密或者解密
    @param data: 要加密或者解密的数据
    @param is_encrypt: 加密操作或者解密操作(加密:True,解密:False)
    @return: 加密或者解密后的数据
    '''
    with open('id_rsa') as privatefile:
        keydata = privatefile.read()
    privatekey = rsa.PrivateKey.load_pkcs1(keydata)
    if is_encrypt:
        if len(data) > 245:
            tmp = ''
            for i in range(len(data) / 245 + 1):
                t = data[i * 245:(i + 1) * 245]
                tmp += rsa.encrypt(t, privatekey)
                print len(tmp), tmp
            return tmp
        else:
            return rsa.encrypt(data, privatekey)
    else: 
        tmp = ''
        for i in range(len(data) / 256):
            t = data[i * 256:(i + 1) * 256]
            tmp += rsa.decrypt(t, privatekey)

        return tmp

仅此备忘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的RSA是一种非对称加密算法,用于数据的加密解密。您可以使用Python中的标准库`cryptography`来实现RSA算法。 下面是一个使用Python进行RSA加密解密的示例代码: ```python 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 ) public_key = private_key.public_key() # 将密钥保存为PEM格式 pem_private_key = private_key.private_bytes( encoding=serialization.Encoding.PEM, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption() ) pem_public_key = public_key.public_bytes( encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo ) # 加密 message = b"Hello, RSA!" ciphertext = public_key.encrypt( message, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) # 解密 plaintext = private_key.decrypt( ciphertext, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print("原始消息:", message) print("加密后:", ciphertext) print("解密后:", plaintext) ``` 这是一个简单的示例,展示了如何使用Python中的`cryptography`库进行RSA加密解密操作。请注意,为了运行此代码,您需要先安装`cryptography`库。可以使用`pip install cryptography`命令进行安装。 希望这可以帮助到您!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值