2016-10-05 2 views
0

javaがHexStringをどのように印刷するのかと、BitConverterを使用しているC#と同じフォーマットで印刷する方法について質問があります。.netのようなsha-1ハッシュフォーマット

我々(両方)はSHA-1を用いて文字列をハッシュした結果として、この六角を生成している。

a94a8fe5ccb19ba61c4c873d391e987982fbbd3(「試験」の文字列のハッシュ)

我々はC#でハッシュをテストするときに問題がありますC#はA9-4A-8Fのように大文字で " - "で区切られています。

Javaで同じ形式を印刷するにはどうすればよいですか?

ハッシュと印刷のためのコードは次のとおりです

String password = "test"; 

     byte[] key = password.getBytes(); 

     MessageDigest md = MessageDigest.getInstance("SHA-1",new BouncyCastleProvider()); 

     byte[] hash = md.digest(key); 

     String result = ""; 
     for (byte b : hash) { 
      result += Integer.toHexString(b & 255); 
     } 
     return result; 

答えて

0
String result = ""; 
for (byte b : hash) { 
    result += Integer.toHexString(b & 255).toUpperCase() + "-"; 
} 
return result.subString(0, result.length()-1); 
関連する問題