gpt4 book ai didi

c# - RSA 加密中的 fOAEP 参数

转载 作者:可可西里 更新时间:2023-10-31 23:20:55 28 4
gpt4 key购买 nike

RSACryptoServiceProvider.Encrypt() 有两个参数:rgb(要加密的数据)和 fOAEP。 fOAEP 是一个 bool 值,用于确定应使用哪种填充:

fOAEP
Type: System.Boolean

true to perform direct RSA encryption using OAEP padding (only available on a computer running Microsoft Windows XP or later); otherwise, false to use PKCS#1 v1.5 padding.

它说 true 只能在 Windows XP 或更高版本上工作,但我认为这不一定包括 Linux 和其他语言。也就是说,这确实需要在 Linux 和 PHP 上工作。考虑到我的两个最大优先事项是安全性和与 PHP 脚本的互操作性,这个值应该为真还是假?

最佳答案

它在 .NET 方面都有很好的文档记录并符合标准,我认为它在 PHP 方面应该是相同的。看这个例子:

http://www.php.net/manual/en/function.openssl-public-encrypt.php

它同时支持 OAEP 和 PKCS#1。所以你应该对他们中的任何一个都很好。我个人的看法是,它不是像旧的 .DOC 格式那样的异国情调的东西,互操作性是一场噩梦。 RSA 本身很简单,填充只是添加一些二进制字节,背后有很多想法但它很简单。

关于哪个更安全,看这个:

https://security.stackexchange.com/questions/32050/what-specific-padding-weakness-does-oaep-address-in-rsa

或者尝试寻找其他的密码学研究。不要相信我说的话:)。

编辑:哎呀,解密似乎不支持 OAEP,还有一件事要添加到 phpwtf.org...

http://www.php.net/manual/en/function.openssl-public-decrypt.php

关于c# - RSA 加密中的 fOAEP 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20496339/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com