PHP使用不止一个公钥加密数据
我需要使用公钥/私钥系统对数据进行非对称加密(二进制和文本)。 目前我正在使用openssl_seal,因为我需要用多个公钥加密数据。结果我得到了一封加密的邮件(这很好)和两个或更多的信封(这不太好)。后者不太好,因为我还必须将这些信封存储到数据库中。对于每条小消息,我需要存储至少两个信封,这可能比消息本身更大 然后我想起了GnuPG:我可以向多个接收者发送邮件,并可以通过这种方式对邮件进行加密,每个人都可以用自己的私钥解密邮件。不需要信封。 所以我在PHP中寻找GnuPG库,但我只找到了一个linux解决方案。不满意,因为我们也有windows系统 是否有任何公钥/私钥库可以使用多个公钥加密消息/数据,而不必费心处理信封 我需要的是一个库,它可以创建2048或4096位的公钥/私钥集 库必须具有使用一个、两个或多个公钥加密任何类型数据的功能,并且只有一个简单的数据块作为结果 库必须具有一个功能,以便可以使用任何相应的私钥对加密数据进行解密 有什么提示或想法吗?也许OpenSSL中有一个特殊的功能?IIRC,我也可以用S/MIME加密向几个收件人发送电子邮件。而且只有1封有很多收件人的电子邮件。没有单独的信封 提前谢谢 HennesOpenSSL和OpenPGP(由GnuPG实现)都使用对称加密来加密数据(使用一些随机密钥),然后使用非对称加密来加密密钥,为每个收件人加密一次 在OpenSSL中,这称为“信封”,在OpenPGP中称为“会话密钥包”。两者都包含或多或少相同的数据,因此大小应该相似。我不知道是否可以让OpenSSL将所有这些作为单个blob返回,GnuPG默认情况下是这样做的,但是文件大小不会有明显的不同 进一步评论:PHP使用不止一个公钥加密数据,php,cryptography,public-key-encryption,gnupg,php-openssl,Php,Cryptography,Public Key Encryption,Gnupg,Php Openssl,我需要使用公钥/私钥系统对数据进行非对称加密(二进制和文本)。 目前我正在使用openssl_seal,因为我需要用多个公钥加密数据。结果我得到了一封加密的邮件(这很好)和两个或更多的信封(这不太好)。后者不太好,因为我还必须将这些信封存储到数据库中。对于每条小消息,我需要存储至少两个信封,这可能比消息本身更大 然后我想起了GnuPG:我可以向多个接收者发送邮件,并可以通过这种方式对邮件进行加密,每个人都可以用自己的私钥解密邮件。不需要信封。 所以我在PHP中寻找GnuPG库,但我只找到了一个l
- 您可以使用
或gpg--list packets
查看OpenPGP文件的内容(GnuPG中未包含该文件,但在解析数字ID时提供更好的可读性输出,即使用的算法)pgpdump
- GnuPG接口也应该在windows下工作,但据我所知,它需要手动编译
- 我经常看到人们只是手动调用
二进制文件。但是如果这样做的话要小心,有一些方法会造成安全问题gpg.exe