CRC32相比MD5重復率較高,
不過某些場景下我們仍然可以使用CRC32然后轉長整形的方式將32位的UUID字符串壓縮成更短的整形唯一標識。
比如:
我項目中遇到需要將一個主鍵為UUID的表合並到主鍵為數字類型 的表,兩個表主鍵不統一,需要把UUID轉為重復率較低的數字類型,就可以借助該方法。
對此可能還會產生重復,不過已在我接受范圍內,可以手工調整個別重復數字,這大大幫助我減少了工作量。
1 /** 2 * 3 * @Title: getCRC32Value 4 * @author:liuyx 5 * @date:2015年11月6日下午5:26:12 6 * @Description: 獲取字符串對應的重復概率較小的整形 7 * @param str 傳入字符串 8 * @return 9 */ 10 public static String getCRC32Value(String str) { 11 12 CRC32 crc32 = new CRC32(); 13 crc32.update(str.getBytes()); 14 System.out.println(crc32.getValue()); 15 24 return Long.toString(crc32.getValue()); 25 }