我正在使用 adler32 校验和算法从数据库 id 生成一个数字。因此,当我在数据库中插入一行时,我会获取该行的标识并使用它来创建校验和。我遇到的问题是我只在数据库中插入了 207 次后才生成了一个重复校验和。这比我预期的要快得多。这是我的代码:
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 ... 对 db 结构的更改将破坏世界上所有的链接。
谢谢!