作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有两个 go 服务,我们称它们为 A 和 B。B 持有一个 RSA key 对,而 A 只知道公钥。我想让他们知道他们是否同意某个值 V。
我想通过让 B
使用公钥加密加密 V
并让 A 进行比较来做到这一点,但是所有的 crytpo/rsa
函数采用 RNG,它增加了熵并使 V 的每个散列不同。这意味着我无法比较哈希值。
go 标准库中是否有一个函数可以确定性地哈希 V?
注意:我可以通过在每次对 V 进行哈希运算时使用一个新的 RNG 来实现这一点,但我希望能够从其他语言计算这个哈希值,这会将我与 Go 的 RNG 联系起来。
最佳答案
I want to do this by having
B
encrypt encryptV
using the public key and have A do a comparison…
您使用了错误的原语。
如果您希望私钥的所有者证明他们拥有一些数据,请让他们签署该数据。收件人可以使用公钥验证该签名。
使用 SignPSS 和 VerifyPSS 方法来执行此操作。签名不会是确定性的,但它不需要是 - 收件人仍然能够验证它。
关于go - 我如何在 Go 中执行确定性 RSA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43796080/
我是一名优秀的程序员,十分优秀!