Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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
Java 使用Ruby on Rails比较Android市场响应中的签名数据和签名_Java_Ruby On Rails_Ruby_Rsa_Google Play - Fatal编程技术网

Java 使用Ruby on Rails比较Android市场响应中的签名数据和签名

Java 使用Ruby on Rails比较Android市场响应中的签名数据和签名,java,ruby-on-rails,ruby,rsa,google-play,Java,Ruby On Rails,Ruby,Rsa,Google Play,我想知道是否有人有关于如何解决这个问题的文献链接 我从安卓市场收到两组数据;“签名数据”是购买的JSON表示形式,“签名”是签名数据的Base64编码加密表示形式 我认为关键是使用公钥对签名数据进行加密,并将其与签名进行比较 到目前为止,我的策略如下: 1) Base64解码公钥并使用OpenSSL::PKey::RSA.new创建公钥对象 2) Base64解码从Android返回的签名 3) 使用公钥加密已签名的数据,并与签名进行比较 在Ruby中,正确的方法是什么?以下是答案: 在第一步

我想知道是否有人有关于如何解决这个问题的文献链接

我从安卓市场收到两组数据;“签名数据”是购买的JSON表示形式,“签名”是签名数据的Base64编码加密表示形式

我认为关键是使用公钥对签名数据进行加密,并将其与签名进行比较

到目前为止,我的策略如下:

1) Base64解码公钥并使用OpenSSL::PKey::RSA.new创建公钥对象

2) Base64解码从Android返回的签名

3) 使用公钥加密已签名的数据,并与签名进行比较

在Ruby中,正确的方法是什么?

以下是答案:

在第一步中创建的公钥对象有一个方便的
verify
方法,用于将步骤2中的Base64解码数据与签名数据进行比较

verified=key.verify(OpenSSL::Digest::SHA1.new、Base64.decode64(签名)、签名\u数据)

幸福