1

我正在拼命寻找与 PHP 的“openssl_seal”(http://php.net/manual/en/function.openssl-seal.php)功能等效的 .NET (C#) 代码。谷歌搜索了几个小时,尝试了 OpenSSL 和 BouncyCastle .NET API 并没有出现太多,或者我没有从正确的方向解决所有问题。

我的理解是 PHP“openssl_seal”命令执行以下操作(这是他们网站的引述):

  1. 生成随机密钥(128 位)
  2. 使用随机密钥使用 RC4 对称加密数据
  3. 使用公钥/证书使用 RSA 加密随机密钥本身
  4. 返回加密数据和加密密钥。

这一切都很好而且很花哨,但留下了很大的解释空间和微妙的不准确之处。通过反复试验来匹配 PHP 和 C# 的结果是一个令人生畏的前景(关键是“随机”,所以这甚至不起作用):) 有没有人能够成功地通过复制“openssl_seal”机制C#?

4

2 回答 2

2

我对这个块的解决方案的咆哮:http: //geekswithblogs.net/Strenium/archive/2013/01/27/converting-phprsquos-ldquoopenssl_sealrdquo-and-ldquoopenssl_openrdquo-into-.net.aspx

于 2013-03-18T23:08:56.077 回答
0

http://phpseclib.sourceforge.net/interop.html

这可能会有所帮助。单击 PHP 绑定/openssl_seal()/openssl_open()。然后点击“Seal”下的phpseclib。

你说的听起来很准确。您使用 PKCS1 填充加密 RC4 密钥。

祝你好运!

于 2013-03-13T19:21:09.783 回答