数字校验防伪技术 Checksum是一种计算机防伪技术,主要应用于纸钞序列号的机读校验,在验钞机验钞时,通过对序列号的号码进行扫描,从而发现伪钞。
目前,应用这项技术的主要是欧元。下面就以欧元为例,简要介绍一下这项技术:
欧元的序列号由一位字母和11位数字组成。其中的前缀字母代表欧元的发行国家,在欧元中又被称为国家识别码。最后一位数字是校验数字,其数值从1-9,没有0。
1)欧元的国家识别码与数字校验码
下面列表中,字母为国家识别码,数字为数字校验码。
· 字母 F - 2 马耳他(预留)
· 字母 G - 1 塞浦路斯(预留)
· 字母 H - 9 斯洛文尼亚
· 字母 I - 8 未使用
· 字母 J - 7 (英国)(预留)
· 字母 K - 6 (瑞典)(预留)
· 字母 L - 5 芬兰
· 字母 M - 4 葡萄牙
· 字母 N - 3 奥地利
· 字母 O - 2 未使用
· 字母 P - 1 荷兰
· 字母 Q - 9 未使用
· 字母 R - 8 (卢森堡)(预留)
· 字母 S - 7 意大利
· 字母 T - 6 爱尔兰
· 字母 U - 5 法国
· 字母 V - 4 西班牙
· 字母 W - 3 (丹麦)(预留)
· 字母 X - 2 德国
· 字母 Y - 1 希腊
· 字母 Z - 9 比利时
2)校验方法1
将序列号中的11位数字反复相加,直至相加到剩下一位数,这位数一定是等于数字校验码的数字。
例如:X00160921181 ,德国版欧元,国家识别码是X,数字校验码是2,
11位数字相加:0+0+1+6+0+9+2+1+1+8+1=29
再相加:2+9=11
再相加:1+1=2 与德国版欧元的数字校验码相符。
3)校验方法2
将序列号中的字母用相应的数字(在字母表中的排序)代替,如:L-12、T-20、X-24、Z-26等,所得到的数被9除,余数一定等于8。
例如:X00160921181
将字母用数字24代替,得到的数是2400160921181,这个数被9除,余数等于8。
有一种简便的方法可以快速得到余数:通过将上述数字反复相加,直至相加到剩下一位数,最后得到的结果就是余数。
所有数字相加:2+4+0+0+1+6+0+9+2+1+1+8+1=35
再相加:3+5=8 这就是余数
计算机可以通过自动扫描序列号,并自动计算序列号数字之和,从而判断纸钞的真伪