Tag Archives: java

JavaのObject.hashCodeは結構衝突する件

Hash値の計算手抜きしてObject.hashCode使ってたけど、どうも衝突が発生している疑惑があったので、確かめてみました。結果としては、かなり衝突するということがわかりました。きちんとMD5とかSHAとか使ったほうがいいですねw テスト ランダムな20~30文字の小文字アルファベットの文字列からhashCodeを計算し、Hash値の衝突数を調べる テストに使ったコード 実行結果 >scala Main 100000 0 / 100000 conflics >scala Main 100000 Find same hashCode: uzaiwypnpcglgjkmfuquogkil and exxjmayuwoperjewrffssstxj Find same hashCode: zxucborhherxalztzlzzdccikx and zcaofzchrqfmpyxkodxnx 2 / 100000 conflics >scala Main 100000 Find same hashCode: krjrsrqyhyejdcrouwmphppwiph and mwjaeywvamrxcyvwzdmlnm … Continue reading

Posted in Scala, Tips | Tagged , | Leave a comment