我有一個要求,我有一組事先不知道的字符串(例如「phy」,「link」,「maca」)Java:字符串到7位哈希
我有2個程序在那裏我只有7位發送來溝通字符串。
如果我事先知道這些字符串,我可以說「phy」= 1「link」= 2等等,但是我想自動執行此操作,在這兩個程序中我都有兩個函數用一些編碼方式。
private int getHash(String agent) {
return 0;
}
private String getAgentIDfromHash(int hash) {
// TODO Auto-generated method stub
return null;
}
所以int將是一個7位int。我可以嘗試對字符串中的所有字符進行異或運算,但我想知道是否有更好的方法來實現它? 有什麼想法?
任何7位將分佈良好? – rinku
低位當然更好,但我記得讀過研究報告說它對任何一組字節都沒有那麼壞。請注意,這是一個合理的命題,不是最好的命題,hashCode有時會受到批評。 –
如果我使用「phy」.hashCode()&0x7f ..爲字符串集我知道我得到不同的值..我的字符串不會超過5-6個字符 – rinku