用模10算法校驗Code25

Luhn算法(Luhn algorithm),也稱爲“模10”(Mod 10)算法

modulus 10 算法會通過校驗碼對一串數字進行驗證,校驗碼通常會被加到這串數字的末尾處,從而得到一個完整的身份識別碼。

我們以數字“2445839”爲例,計算其校驗位:

[list]
[1]從校驗位開始,從右往左,偶數位乘3(例如,9*3=27)
[2]把得到的數字加在一起(本例中得到81);
[3]將數字的和取模10(本例中得到1),再用10去減(本例中得到9),得到校驗位。
[4]由於Code25必需是偶數位,如果是基數位,那麼要在在前面加'0'。因爲0乘以任何數都是0,所以不會影響校驗碼的生成
[/list]

例子:
[table]
|位子|8|7|6|5|4|3|2|1
|Code25碼|2|4|4|5|8|3|9|x
|偶數位乘3|3|1|3|1|3|1|3|x
|將數字相加|6+|4+|12+|5+|24+|3+|27+|=81
[/table]
將數字的和取模10(本例中得到1),再用10去減(本例中得到9),得到校驗位。

最後得到Code25: 24458399

如果是基數位,例如244589,那麼就要在數字前面加'0',得到0244589
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章