如何为字符串内容生成唯一键?

时间:2014-04-14 14:34:52

标签: java ruby performance

我正在寻找一种为字符串创建唯一键的算法。 对于每个代码执行实例,生成的字符串键应该相同。 我想将密钥和字符串序列化为一个文件,并在其他平台上反序列化(二进制文件),如Android应用程序,机顶盒等......

在这方面,有人能帮助我吗?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

您可以使用String.hashCode()方法。但是hashCode()方法是特定于实现的,这意味着(理论上)它不能跨平台使用。另一种常见的方法是使用MD5哈希。

MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes("UTF-8"));
return new BigInteger(1, md.digest()).intValue();

这应该为每个字符串生成一个唯一的整数。应该可以在其他Java平台甚至其他编程语言中使用MD5算法从同一个字符串中获取相同的整数。