Python RSA加密解密

您所在的位置:网站首页 rsa加密和解密运算方式 Python RSA加密解密

Python RSA加密解密

2023-07-17 14:35| 来源: 网络整理| 查看: 265

Python RSA加密解密

RSA是一种非对称加密算法

非对称加密需要公钥(publickey)和私钥(privatekey)

消息传递前需要先生成公钥和私钥,发送方将待发送消息用公钥加密,发送给接收方。接收方收到消息后,用私钥解密。在这个过程中,公钥负责加密,私钥负责解密,消息在传输过程中即使被截获,攻击者由于没有私钥,无法破解截获的消息。

非对称加密算法的加解密速度低于对称加密算法,但是安全性更高。

非对称加密算法:RSA、DSA、ECC等算法

RSA加密解密过程:

import rsa # rsa加密 def rsaEncrypt(str): # 生成公钥、私钥 (pubkey, privkey) = rsa.newkeys(512) print("公钥:\n%s\n私钥:\n%s" % (pubkey, privkey)) # 明文编码格式 content = str.encode("utf-8") # 公钥加密 crypto = rsa.encrypt(content, pubkey) return (crypto, privkey) # rsa解密 def rsaDecrypt(str, pk): # 私钥解密 content = rsa.decrypt(str, pk) con = content.decode("utf-8") return con if __name__ == "__main__": str, pk = rsaEncrypt("password") print("加密后密文:\n%s" % str) content = rsaDecrypt(str, pk) print("解密后明文:\n%s" % content)

输出结果:

公钥: PublicKey(9159426407102734998560294890451891757513071757088584253729648528501417390045783844324225057548342352223226493499499812727491257587964648637915558412428127, 65537) 私钥: PrivateKey(9159426407102734998560294890451891757513071757088584253729648528501417390045783844324225057548342352223226493499499812727491257587964648637915558412428127, 65537, 7190772358695741617878842980433042141321773272715637707533822824357636537829981741351623829030718781697003727767252117623450712680213111880577214133630801, 6909139008438239969203597869903711106052468607857293363487996250670397485518005063, 1325697224490082438898074923574950933686195846386160566957092835626425129) 加密后密文: b"V\xc5\x1a\xfd


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3