用什么算法计算校验位?

Pio*_*ost 8 algorithm checksum error-checking data-consistency

用什么算法计算一个数字列表的校验位?
列表的长度在8到12位之间.

另请参阅:
如何生成验证码/号码?

Ric*_*dle 7

卢恩算法是信用卡行业不够好...

  • @AlixAxel维基意思是Luhn Algo或校验位 - 旨在防止意外错误,而不是恶意攻击. (2认同)

Joh*_*uhy 5

正如RichieHindle指出的那样,Luhn算法非常好.它将检测(但不正确)任何一个错误或转置(除了转换0和9).

您还可以考虑ISBN校验位的算法,但对于旧式ISBN,校验位有时是"X",如果您使用整数字段,这可能是一个问题.新式ISBN似乎没有这个问题.维基百科没有深入研究系统的理论属性,但我记得很久以前在我的编码理论课程中研究过ISBN编号,所以我认为它们非常好:-)