2017-11-17 10 views
0

これをRubyの構文に変換したいのですが、次のコードでエンコードに使用されているメソッドを理解できません。RubyのJavaコード

String orderAmount = "250.00"; 
String mobile = " 7687675645"; 
String email = "[email protected]" ; 
String data=mobile+email+orderAmount+"INR"; 
javax.crypto.Mac mac = javax.crypto.Mac.getInstance("HmacSHA1"); 
mac.init(new javax.crypto.spec.SecretKeySpec(secret_key.getBytes(), "HmacSHA1")); 
byte[] hexBytes = new org.apache.commons.codec.binary.Hex().encode(mac.doFinal(data.getBytes())); 
String signature = new String(hexBytes, "UTF-8"); 

本当にありがとうございます。

+1

あなたが共有することができ、このためのいくつかのテストデータを、持っていますか?このサンプルを取得するためにサンプルとキーを入力/出力することは素晴らしいことでしょう – AntonTkachov

+0

「次のコードでエンコードする方法を理解できません」 - 変換するためにメソッドを理解する必要はありませんそれをRubyの構文に変換します。 Rubyのセマンティクスに変換したい場合は、理解する必要があります。 –

答えて

1

thisをお試しください:

require 'openssl' 

secret_key = 'place_your_secret_key_here' 
orderAmount = '250.00' 
mobile = ' 7687675645' 
email = '[email protected]' 
data = mobile + email + orderAmount + 'INR' 

signature = OpenSSL::HMAC.hexdigest('SHA1', secret_key, data) 
+0

ありがとう、同じことを使用していた。 –