我有一个24个字符长的id,这是保证是独特的。我想把它缩短到7-10个字符(甚至更短)。如果我随机生成一个短的id,那么每次我都要检查这个短号是否可用。是否有一种单向哈希算法,可以从传入24个字符id返回7-10字符哈希。
是否有其他方法可以保证生成的短id是唯一的,而不进行检查?
发布于 2014-07-17 14:31:52
您不能保证缩短的ID是唯一的,因为10字符字符串比24字符字符串少得多。值迟早会被重用。
根据您的in是如何生成的,您可以在实践中做不同的事情。如果您得到了连续的数字,取其最后的10个字符将工作一段时间,但在X^10值之后换行。如果ID本身是完全随机的,您可以取其任意10个数字来获得另一个值,该值可能是唯一的,但迟早会导致无法预测的冲突。但所提出的问题是无法解决的。
发布于 2014-07-17 18:09:53
如果其他条件有利,则按顺序分配短If。第一个字符串需要一个Id得到1,第二个得到2等等。保证是唯一的,不需要检查。
https://softwareengineering.stackexchange.com/questions/250235
复制相似问题