Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Ruby或ROR中使用SHA256哈希对RSA-OAEP进行编码_Ruby On Rails_Ruby_Rsa_Sha256_Chilkat - Fatal编程技术网

Ruby on rails 如何在Ruby或ROR中使用SHA256哈希对RSA-OAEP进行编码

Ruby on rails 如何在Ruby或ROR中使用SHA256哈希对RSA-OAEP进行编码,ruby-on-rails,ruby,rsa,sha256,chilkat,Ruby On Rails,Ruby,Rsa,Sha256,Chilkat,我正在Ruby中使用带有SHA256哈希算法的RSA-OAEP对JSON数据进行编码,但我不确定如何在Ruby中实现。我发现了一块宝石 我曾尝试使用Chilkat对JSON数据进行编码,但每次都得到nil。请参阅下面的代码 [28] pry(main)> pubkey = Chilkat::CkPublicKey.new() => #<Chilkat::CkPublicKey:0x00007fe3393c54a0 @__swigtype__="_p_CkPublicKey"&g

我正在Ruby中使用带有SHA256哈希算法的RSA-OAEP对JSON数据进行编码,但我不确定如何在Ruby中实现。我发现了一块宝石

我曾尝试使用
Chilkat
对JSON数据进行编码,但每次都得到nil。请参阅下面的代码

[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)>
pry(main)>pubkey=Chilkat::CkPublicKey.new() => # [29]撬杆(主)> [30]pry(main)>rsa=Chilkat::CkRsa.new() => # [31]pry(主)>rsa.put_-OaepPadding(真) =>零 [32]pry(主要)>rsa.put_OaepHash(“SHA1”) =>零 [33]pry(主)>rsa.ImportPubliceYobj(公钥) =>正确 [34]pry(主)>rsa.put_编码模式(“base64”) =>零 [35]撬杆(主)>
鉴于您使用公钥“编码”,我认为您真正的意思是“加密”。使用公钥加密时,公钥用于加密,私钥用于解密。签名的情况正好相反:使用私钥进行签名,使用公钥进行验证

下面是一个使用SHA256的RSA-OAEP示例


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

下面是一个使用SHA256的RSA-OAEP示例