首页 > 解决方案 > 如何在 Ruby 或 ROR 中使用 SHA256 散列编码 RSA-OAEP

问题描述

我正在使用RSA-OAEP with SHA256 hashing算法在 Ruby 中编码 JSON 数据,但我不确定如何在 Ruby 中实现。我找到了一个宝石chilkat

我一直尝试使用Chilkat获取 nil 来编码 JSON 数据。见下面的代码

[28] pry(main)> pubkey = Chilkat::CkPublicKey.new()
=> #<Chilkat::CkPublicKey:0x00007fe3393c54a0 @__swigtype__="_p_CkPublicKey">
[29] pry(main)>

[30] pry(main)> rsa = Chilkat::CkRsa.new()
=> #<Chilkat::CkRsa:0x00007fe339447e00 @__swigtype__="_p_CkRsa">

[31] pry(main)> rsa.put_OaepPadding(true)
=> nil

[32] pry(main)> rsa.put_OaepHash("SHA1")
=> nil

[33] pry(main)> rsa.ImportPublicKeyObj(pubkey)
=> true

[34] pry(main)> rsa.put_EncodingMode("base64")
=> nil
[35] pry(main)>

标签: ruby-on-railsrubyrsasha256chilkat

解决方案


鉴于您使用公钥进行“编码”,我认为您真正的意思是“加密”。使用公钥加密,公钥用于加密,私钥用于解密。签名则相反:使用私钥进行签名,使用公钥进行验证。

这是带有 SHA256 的 RSA-OAEP 的示例

https://www.example-code.com/ruby/rsa_oaep_sha256.asp


推荐阅读