统一社会信用代码唯一性校验规则

统一社会信用代码唯一性校验规则


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

i1

(C

i

W

i

)

= 1640

17

第五步:计算整数求余函数MOD。

级数之和1640模31余28,即MOD(

i1

(C

i

W

i

)

,31)值为28

第六步:求出校验码字符值。

C

18

=31- MOD(

i1

(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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信