如何使用 pyopenssl 解密 RSA 加密文件(通过 PHP 和 OpenSSL)?

戴夫斯拉布

简单的 n00b 问题:我试图在 PHP 中复制openssl_private_decrypt函数的行为来解密供应商发送给我的文件,该文件通过openssl_public_encrypt函数加密我使用的是 python 3.4,因此我能看到的唯一可用的库是pyopenssl,但它的级别足够低,我无法轻松找出如何做我想做的事情。这可能很简单,但有没有人有我想做的例子?

戴夫斯拉布

感谢@mnistic,它开始工作,但做了一些修改。这是最终的工作代码(您必须记住openssl_private_decrypt的默认值):

from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import padding

# It's critical that the file be opened in mode "rb"!
with open("private.key", 'rb') as key_file:
  private_key = serialization.load_pem_private_key(key_file.read(), password=None, backend=default_backend())

with open('encrypted_file', 'rb') as encrypted_file:
  ciphertext = encrypted_file.read()

plaintext = private_key.decrypt(ciphertext, padding.PKCS1v15())

请注意,ciphertext需要小于密钥的最大块大小(对于 RSA,密钥中的位数除以 8)。希望对未来的 Google 员工有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JS和PHP进行RSA加密和解密

来自分类Dev

如何使用RSA和AES算法加密和解密文件

来自分类Dev

RSA如何加密/解密?

来自分类Dev

如何使用openssl解密加密文件?

来自分类Dev

如何使用pycrypto和RSA加密(和解密)数据?

来自分类Dev

无法使用OpenSSL通过Javascript解密AES加密文件

来自分类Dev

如何使用BASH命令解密PHP Openssl加密

来自分类Dev

C#RSA加密-> PHP RSA解密

来自分类Dev

使用OpenSSL rsa密钥解密时出错

来自分类Dev

使用 openssl 进行 phpseclib RSA 解密

来自分类Dev

使用RSA和AES进行加密/解密;标准?

来自分类Dev

如何使用RSA和OpenSSL加密消息/文本?

来自分类Dev

使用Java的RSA加密/解密

来自分类Dev

OpenSSL中的TripleDES加密和使用C#解密

来自分类Dev

使用Visual Studio和Openssl的AES 256 CTR加密/解密

来自分类Dev

使用Visual Studio和Openssl的AES 256 CTR加密/解密

来自分类Dev

OpenSSL中的TripleDES加密和使用C#解密

来自分类Dev

使RSA加密在Python(PyCrypto)和PHP(OpenSSL)中兼容

来自分类Dev

如何使用RSA / AES加密/解密较大的文件

来自分类Dev

使用Android和PHP加密/解密

来自分类Dev

如何使用OpenSSL解密加密的私钥?

来自分类Dev

如何在C#RSA中使用私钥加密和使用公钥解密

来自分类Dev

c(加密消息)如何通过RSA中的私钥解密?

来自分类Dev

Tyring 使用 PHP 的 OpenSSL_encrypt/OpenSSL_decrypt 加密/解密数据

来自分类Dev

在Java中使用rsa加密和解密大文件

来自分类Dev

使用Java解密OpenSSL PEM编码的RSA私钥?

来自分类Dev

使用RSA OAEP加密和解密

来自分类Dev

OpenSSL:我使用存储在外部文件中的RSA密钥对文件进行加密和解密,但有时程序崩溃

来自分类Dev

使用Java在Android上解密OpenSSL加密的文件

Related 相关文章

  1. 1

    使用JS和PHP进行RSA加密和解密

  2. 2

    如何使用RSA和AES算法加密和解密文件

  3. 3

    RSA如何加密/解密?

  4. 4

    如何使用openssl解密加密文件?

  5. 5

    如何使用pycrypto和RSA加密(和解密)数据?

  6. 6

    无法使用OpenSSL通过Javascript解密AES加密文件

  7. 7

    如何使用BASH命令解密PHP Openssl加密

  8. 8

    C#RSA加密-> PHP RSA解密

  9. 9

    使用OpenSSL rsa密钥解密时出错

  10. 10

    使用 openssl 进行 phpseclib RSA 解密

  11. 11

    使用RSA和AES进行加密/解密;标准?

  12. 12

    如何使用RSA和OpenSSL加密消息/文本?

  13. 13

    使用Java的RSA加密/解密

  14. 14

    OpenSSL中的TripleDES加密和使用C#解密

  15. 15

    使用Visual Studio和Openssl的AES 256 CTR加密/解密

  16. 16

    使用Visual Studio和Openssl的AES 256 CTR加密/解密

  17. 17

    OpenSSL中的TripleDES加密和使用C#解密

  18. 18

    使RSA加密在Python(PyCrypto)和PHP(OpenSSL)中兼容

  19. 19

    如何使用RSA / AES加密/解密较大的文件

  20. 20

    使用Android和PHP加密/解密

  21. 21

    如何使用OpenSSL解密加密的私钥?

  22. 22

    如何在C#RSA中使用私钥加密和使用公钥解密

  23. 23

    c(加密消息)如何通过RSA中的私钥解密?

  24. 24

    Tyring 使用 PHP 的 OpenSSL_encrypt/OpenSSL_decrypt 加密/解密数据

  25. 25

    在Java中使用rsa加密和解密大文件

  26. 26

    使用Java解密OpenSSL PEM编码的RSA私钥?

  27. 27

    使用RSA OAEP加密和解密

  28. 28

    OpenSSL:我使用存储在外部文件中的RSA密钥对文件进行加密和解密,但有时程序崩溃

  29. 29

    使用Java在Android上解密OpenSSL加密的文件

热门标签

归档