校验码系统
查错类型
- 单一字符替代错误,如1234被错录为4234
- 单一字符对换错误,如12345被错录为12354或12543
- 位移错误,如_123被错录为123_
- 双替代错误,如1234567被错录为7234587
类型
ISO 7064校验码系统[1]
- 纯系统
表示方法 | 适用范围 | 校验码数目及类型 |
ISO 7064 Mod 11-2 | 数字型字符串 | 1位数字或附加符X |
ISO 7064 Mod 37-2 | 字母数字型字符串 | 1位数字或字母或附加符* |
ISO 7064 Mod 97-10 | 数字型字符串 | 2位数字 |
ISO 7064 Mod 661-26 | 字母型字符串 | 2位字母 |
ISO 7064 Mod 1271-36 | 字母数字型字符串 | 2位数字或字母 |
- 混合系统
表示法 | 应用 | 字符数目及类型 |
ISO 7064 MOD 11,10 | 数字串 | 1位数字 |
ISO 7064 MOD 27,26 | 字母串 | 1位字母 |
ISO 7064 MOD 37,36 | 字母数字串 | 1位数字或字母 |
计算方法
纯系统
- 纯系统字符串满足此公式的校验:
- n:字符串的字符个数(包括校验码)
- i:字符位置序号(由右至左,包括校验码,空格与分隔符不及),即最右边的字符i=1
- ai:字符值(见下表)
- r:底数,几何级数的基数
- M:模数
字符 | 数字字符值 | 字母字符值 | 字母数字字符值 | 备注 |
0 | 0 | 0 | ||
1 | 1 | 1 | ||
2 | 2 | 2 | ||
3 | 3 | 3 | ||
4 | 4 | 4 | ||
5 | 5 | 5 | ||
6 | 6 | 6 | ||
7 | 7 | 7 | ||
8 | 8 | 8 | ||
9 | 9 | 9 | ||
X | 10 | ISO 7064 MOD 11-2设置的附加码 | ||
A | 0 | 10 | ||
B | 1 | 11 | ||
C | 2 | 12 | ||
D | 3 | 13 | ||
E | 4 | 14 | ||
F | 5 | 15 | ||
G | 6 | 16 | ||
H | 7 | 17 | ||
I | 8 | 18 | ||
J | 9 | 19 | ||
K | 10 | 20 | ||
L | 11 | 21 | ||
M | 12 | 22 | ||
N | 13 | 23 | ||
O | 14 | 24 | ||
P | 15 | 25 | ||
Q | 16 | 26 | ||
R | 17 | 27 | ||
S | 18 | 28 | ||
T | 19 | 29 | ||
U | 20 | 30 | ||
V | 21 | 31 | ||
W | 22 | 32 | ||
X | 23 | 33 | ||
Y | 24 | 34 | ||
Z | 25 | 35 | ||
* | 26 | 36 | ISO 7064 MOD 37-2设置的附加符 |
- 一位校验码计算
- 用递归法,按规则MOD 11-2为字符串0794设置一个校验码,此时M=11,r=2,n=5:
步骤j | 前次运行结果Pj | + | 下一字符值a(n-j+1) | = | 中间和Sj | 中间和Sj | × | 底数r | = | 运算结果P(j+1) | |
1 | 0 | + | 0 | = | 0 | 0 | × | 2 | = | 0 | |
2 | 0 | + | 7 | = | 7 | 7 | × | 2 | = | 14 | |
3 | 14 | + | 9 | = | 23 | 23 | × | 2 | = | 46 | |
4 | 46 | + | 4 | = | 50 | 50 | × | 2 | = | 100 |
最后,100+校验码值要与1(mod 11)同余,所以校验码为0,整个受保护字符串为07940。
- 多项式法
- 权数
- 权数公式:
- 前15个位置的权数见下表:
- 权数
- 多项式法
位置序号 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
ISO 7064,MOD 11-2 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 |
ISO 7064,MOD 37-2 | 30 | 15 | 26 | 13 | 25 | 31 | 34 | 17 | 27 | 32 | 16 | 8 | 4 | 2 | 1 |
ISO 7064,MOD 97-10 | 53 | 15 | 50 | 5 | 49 | 34 | 81 | 76 | 27 | 90 | 9 | 30 | 3 | 10 | 1 |
ISO 7064,MOD 661-26 | 129 | 488 | 273 | 341 | 547 | 199 | 389 | 498 | 70 | 562 | 225 | 390 | 15 | 26 | 1 |
ISO 7064,MOD 1271-36 | 769 | 904 | 590 | 87 | 532 | 156 | 428 | 718 | 373 | 893 | 625 | 900 | 25 | 36 | 1 |
- 用多项式法,按规则MOD 11-2为字符串0794设置一个校验码:
字符位置i | 5 | 4 | 3 | 2 | 1 |
权数2(i-1)(mod 11) | 5 | 8 | 4 | 2 | 1 |
字符值ai | 0 | 7 | 9 | 4 | |
乘积 | 0 | 56 | 36 | 8 | |
乘积之和 | 100 |
乘积之和加上校验码必须与1(模11)同余,所以校验码为0,整个字符串为07940
- 两位校验码
- 递归法
- 多项式法
- . www.iso.org. [2021-02-08]. (原始内容存档于2021-02-08).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.