我正在使用Java的MessageDigest來執行散列項目。我想通過隨機生成的字符串創建散列衝突。我已經證實我的琴絃是真正隨機的。當我輸出摘要時,它始終以「[B @」開頭,出於某種原因,當我試圖用8位來檢測碰撞時,顯然一切都以「[」開頭。這裏是我的代碼:Java messageDigest奇怪的輸出
public boolean encrypt(String x) throws Exception {
System.out.println("x is " + x);
java.security.MessageDigest d = java.security.MessageDigest.getInstance("SHA-1");
d.update(x.getBytes());
d.reset();
String result = d.digest().toString() + " ";
char[] tempCharArray = result.toCharArray();
String bitArray = "";
for(int i=0; i< tempCharArray.length; i++){
bitArray += String.format("%8s", Integer.toBinaryString(tempCharArray[i] &
0xff)).replace(' ', '0');
}
result = bitArray.substring(0,8);
return result;
}
有沒有人見過這個/知道怎麼做才能做對吧?謝謝