的Python等价代码javax.crypto.Ciph

2024-04-16 07:09:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有java代码来使用pem证书加密文本,如下所示

/* Load Public key from certificate file */
CertificateFactory fact = CertificateFactory.getInstance("X.509");
FileInputStream is = new FileInputStream("cert.pem");
Certificate cer = fact.generateCertificate(is);
PublicKey publicKey = cer.getPublicKey();

/* Encrypt data using public key */
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
String encryptedData = Base64.encodeBase64String(cipher.doFinal(data.getBytes("UTF-8")));

我可以从证书pem在python中使用以下步骤:

^{pr2}$

Java代码为每个新运行的a文本生成不同的加密字符串,就像我使用下面的python代码加密数据一样,它为每个新运行的a文本生成相同的加密字符串。在

b64encode(key.encrypt(data, 32)[0])

现在,我不知道如何用python加密数据,它的结果与上面的Java代码相同。你能给我提个建议吗?我在网上搜遍了,还没有找到正确的解决办法?在


Tags: key代码文本dataispem证书cipher