我有一个要求,我有一组事先不知道的字符串(例如“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