Java基于文本生成唯一的Surrogate字母数字键

时间:2013-05-21 17:35:12

标签: java security md5 sha

我想基于几列生成一个唯一的键(其中一个是搜索词......所以长度可以很长)。记录量约为600万。我使用了MD5并生成了一个32个字符的字母数字字符串。我们对自己的独特性有多大信心?你能建议其他解决方案吗? 提前致谢

2 个答案:

答案 0 :(得分:0)

查找该MD5的MD5数据,您之前获得的该单词。 例如。 从String转换为MD5 “密码”=> “中5f4dcc3b5aa765d61d8327deb882cf99” “5f4dcc3b5aa765d61d8327deb882cf99”=> “中696d29e0940a4957748fe3fc9efd22a3”

要回来,你必须做两次 例如 “696d29e0940a4957748fe3fc9efd22a3”=>“中5f4dcc3b5aa765d61d8327deb882cf99 “5f4dcc3b5aa765d61d8327deb882cf99 =>” 中密码“

您可以使用此网站进行在线测试 http://md5.gromweb.com/

你可以这样做,直到你想要。希望这有助于你:)

答案 1 :(得分:0)

要真正保证唯一性,您必须检查每个新项目是否包含整个历史记录。

例如,您可以在RDB中组织一个表,其中主键值作为生成的值,并继续生成,直到插入实际成功为止。听起来像是一个巨大的开销,但对于大多数实际目的而言,它不是。

另一种方法可能是,如果RDB可用并且具有与Oracle中的序列类似的工具,则可以将此工具与您的算法结合使用。