2024年4月14日发(作者:)
根据《GB 32100-2015 法人和其他组织统一社会信用代码编码规则》,第
18位校验算法如下:
式中:
MOD(n,m)——表示整数求余函数,例如:函数MOD(31,31)的值为0;
i ——表示统一社会信用代码字符从左到右的位置序号;
C
i
——表示统一社会信用代码第i位置上的代码字符的值,字符对应的值
见下表A。
C
18
——表示校验码;
W
i
——表示第i位上的加权因子,
W
i
= MOD(
3
(i-1)
,31),加权因子见表2.
校验码计算方法实例
输入的统一社会信用代码为91350100M000100Y4Z,校验代码唯一性计算步
骤如下:
第一步:列出代码前17位字符位置序号i相对应的各个位置上的字符值
C
i
。
i 1 2 3
3
4
5
5
0
6
1
7
0
8
0
9 10 11 12 13 14 15 16 17
0 0 1 0 0 30 4
C
i
9 1 21 0
第二步:由表4列出与字符位置序号i相对应的加权因子值
W
i
。
i
W
i
1
1
2
3
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
9 27 19 26 16 17 20 29 25 13 8
24 10 30 28
第三步:计算与字符位置序号i相对应的乘积
C
i
×
W
i
。
i
C
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
×
W
i
9 3 27
135
0 26 0 0
420
0 0 0 8
0 0
900
112
第四步:计算级数之和。
17
i1
(C
i
W
i
)
= 1640
17
第五步:计算整数求余函数MOD。
级数之和1640模31余28,即MOD(
i1
(C
i
W
i
)
,31)值为28
第六步:求出校验码字符值。
C
18
=31- MOD(
i1
(C
i
W
i
)
,31)=31-28=3
17
第七步:查出校验码字符。
校验码字符值18对应的字符为3。
第八步:比较原始代码最后一位的字符与校验码字符
原始第十八位字符为“Z”,而计算出的校验码字符为“3”,与校验码不相等,
则该“91350100M000100Y4Z”统一社会信用代码格式不正确。
若与校验码相等,则原始统一社会信用代码格式正确。
表1 代码字符集
代码字符
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
G
H
J
K
L
M
N
P
Q
R
代码字符数值
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
T
U
W
X
Y
26
27
28
29
30
表2 各位置序号上的加权因子
i
W
i
1
1
2
3
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
9 27 19 26 16 17 20 29 25 13 8 24 10 30 28
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713075042a2177900.html
评论列表(0条)