我不需要代码(如果愿意,您可以在代码中提供示例),但是我想了解理论。
假设我具有以下功能:
UINT GenerateID(const char * string);
我希望函数的结果看起来完全是随机的。我知道不可能独一无二,但这是我可以解释自己愿望的最好方法。
GenerateID("123"); //Could result in 999
GenerateID("123"); //Must also result in 999
GenerateID("124"); //Should result in something completely different
当我自己尝试时,结果始终具有大致相同的位数。
最佳答案
您正在寻找一个散列函数。哈希函数采用任意长度的输入,并将其转换为唯一的数字(通常为十六进制)。
请查看此页面以获取SHA-1哈希如何工作的示例:http://hash.online-convert.com/sha1-generator