首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adler32重复非常快

Adler32重复非常快
EN

Stack Overflow用户
提问于 2012-07-22 12:25:06
回答 1查看 2.9K关注 0票数 4

我使用adler32校验和算法从数据库id生成一个数字。因此,当我在数据库中插入一行时,我获取该行的标识并使用它来创建校验和。我遇到的问题是,我只在数据库中插入207次之后就生成了一个重复的校验和。这比我预期的要快得多。下面是我的代码:

代码语言:javascript
复制
String dbIdStr = Long.toString(dbId);
byte[] bytes = dbIdStr.getBytes();
Checksum checksum = new Adler32();
checksum.update(bytes, 0, bytes.length);
result = checksum.getValue();

我做什么/怎么做有什么问题吗?我是否应该使用不同的方法来创建唯一的字符串?我这样做是因为我不想在url中使用db id ...数据库结构的改变将中断世界上所有的链接。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-07-22 23:13:13

尝试使用像SHA-256这样的安全哈希函数。如果你发现任何不是二进制相等的数据发生冲突,你将在你的银行账户上获得1000美元,并受到称赞。如果SHA-2被破解,并且您故意输入冲突,则Offer将终止。也就是说,输出是32字节而不是32位。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11597762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档