当前位置: 首页 > 知识库问答 >
问题:

php中GNUPG解密失败

荆梓
2023-03-14

我正在使用GnuPG库加密解密消息。我已经在我的服务器上成功地确认了GPG扩展并生成了一个密钥对。此外,我还成功地导入了另一个公钥,并使用该公钥对数据进行了解密。

Warning: gnupg_decrypt(): decrypt failed in pgpdecrypt.php on line 22 
$Message = $_REQUEST["Message"];

// Specify custom location of GnuPG binary.
$res = gnupg_init();

gnupg_seterrormode($res, GNUPG_ERROR_WARNING); 

$rtv = gnupg_adddecryptkey($res, "rizwan@google.com", "0000");
echo gnupg_geterror($res) . "<br>"; // Print if any errors

$enc = gnupg_decrypt($res, $Message); // ERROR IS AT THIS LINE
echo gnupg_geterror($res) . "<br>"; // Print if any errors
echo $enc;

共有1个答案

公冶桐
2023-03-14

密码算法6适用于DES。GnuPG不支持DES,而是使用3DES/Triple-DES。我使用3DES加密了数据,它在我的站点上成功地解密了。

希望这对遇到同样问题的人有所帮助。:)

 类似资料:
  • 尝试使用示例代码,可从以下站点获得: https://github.com/chids/bouncy-castle-pgp 做了一些额外的测试,一切正常。 编辑:刚刚注意到在单元测试中使用的密钥也是RSA 2048位,所以不应该是这样的。

  • GnuPG(GNU Privacy Guard)是一种加密软件,不仅可以用来加密和签名电子邮件,也可以用来签名和加密普通的文件。由 GNU 工程 依照IETF订定的OpenPGP技术标准设计开发实现。可以通过相应的邮件客户端(Thunderbird)和插件(Enigmail)来支持对电子邮件的加密和签名。 Windows 版本的 GnuPG 的下载地址 http://gpg4win.org/dow

  • 在那之后,我试着拿回我的子键,以防它们还在身边。我可以看到我的钥匙和子钥匙在GPG钥匙串OSX应用程序。使用和进行列表时,我获得了与主密钥和子密钥相关联的所有公钥,但只获得了主密钥和其中一个子密钥的秘密(我没有导出到yubikey的那个)。 尝试调试更多,我决定使用一个较新版本的gpg来合并密钥等等,希望我能拿回秘密(我想在这一点上它已经不可能了,但我一直在尝试) 使用,它告诉我有一个主密钥和两个

  • 在大多数情况下,这一过程取得了成功。但RSACryptoServiceProvider将引发一个异常: 错误似乎是随机出现的。 下面是一些jsencrypt可以加密和解密,但C#解密失败的例子。每个数组的前两个元素是源数据和JSEncrypt解密的数据。每个数组的最后一个元素是C#无法解密的加密数据。 下面是解密数据的C#代码示例: 下面是加密数据的js代码示例:

  • 我尝试在服务器上进行gpg加密/解密,对于加密,我使用以下命令行: 我想要找到原因:同一个用户有2个不同的密钥和1个秘密密钥。但现在又出现了一个问题:我删除了错误的键,并再次进行相同的测试。 解密后的答案是: 您需要一个密码短语来解锁用户的密钥:“Droli Mail_Adress”2048位RSA密钥,ID 6D2F1BE9,创建2017-07-19(主密钥ID 09C41BAC) 没有关于gp