ruby-on-rails - 如何在 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)>
解决方案
鉴于您使用公钥进行“编码”,我认为您真正的意思是“加密”。使用公钥加密,公钥用于加密,私钥用于解密。签名则相反:使用私钥进行签名,使用公钥进行验证。
这是带有 SHA256 的 RSA-OAEP 的示例
推荐阅读
- java - 等待设备获取位置数据
- angular - 如何使用@ngrx/store 和@ngrx/entity 嵌套延迟加载功能模块的状态?
- javascript - 根据用户正在查看的 ID/类别更改文本
- docker - 如何保护 Docker 中的服务器隧道请求?
- swift - 在地图上做手势时如何添加带有图像的图钉
- python - BeautifulSoup :用 soup.get_text 插入换行符
- javascript - DYMO LabelWriter 获取打印回调
- automated-tests - 如何组合使用不同运行器和平台的自动化测试?
- wso2 - WSO2 ESB。以编程方式访问 Secure Vault
- c# - 参照完整性违规