参考了https://www.cods.org.cn/统一社会信用代码查询_诚信体系实名制查询_组织机构代码-全国组织机构统一社会信用代码数据服务中心(原全国组织机构代码管理中心)关于统一社会信用代码的校验逻辑,程序是pyhon3的:
def tongyi(a):
wi=[1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28]
zimu={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15, 'G': 16, 'H': 17, 'J': 18, 'K': 19, 'L': 20, 'M': 21, 'N': 22, 'P': 23, 'Q': 24, 'R': 25, 'T': 26, 'U': 27, 'W': 28, 'X': 29, 'Y': 30}
sumi=0
for i in range(len(a)-1):
sumi=sumi+zimu[a[i]]*wi[i]
modi=sumi%31
c18=31-modi
print("c18=",c18,"a18=",zimu[a[17]])
return(c18==zimu[a[17]])



