これは私のコードです。バイト エンコーディングに問題があります。プレーンテキスト文字列を取得してハッシュし、結果を出力しようとすると、めちゃくちゃになります。たとえば、plaintext = "hi" の場合、次のように出力されます。 hash: ?????????1?W?p????=???????&
公開クラス HASHME {
private String hash;
private String salt;
public HASHME(String plaintext)
{
try {
System.setProperty("file.encoding", "UTF-8");
salt = "salt";
plaintext = plaintext + salt;
byte[] bytesOfPlain = plaintext.getBytes("UTF8");
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] hashedBytes = md.digest(bytesOfPlain);
hash = new String(hashedBytes, "UTF8");
System.out.println("hash: " + hash);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}