300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C#开发笔记之09-如何用C#判断社会信用代码是否合法?

C#开发笔记之09-如何用C#判断社会信用代码是否合法?

时间:2022-05-12 22:57:48

相关推荐

C#开发笔记之09-如何用C#判断社会信用代码是否合法?

本文由比特飞原创发布,欢迎大家踊跃转载。

转载请注明本文地址:C#开发笔记之09-如何用C#判断社会信用代码是否合法? | .Net中文网。

C#开发笔记概述

概述

法人和其他组织统一社会信用代码相当于让法人和其他组织拥有了一个全国统一的“身份证号”,是推动社会信用体系建设的一项重要改革措施。截至3月底,全国法人和非法人组织存量代码转换率为99.8%,存量证照换发率82%;全国个体工商户存量换码率95%。

那么如何使用C#来判断社会信用代码是否合法呢?

解释

public static class SocialCreditCodeHelper {// 白名单,解决部分地区的社会信用代码不符合国家相关标准导致的判定错误private static IList<string> _whiteList = new List<string>() {//此处代码后4位被隐藏,实际开发过程中请替换为自己的白名单列表"91510100780134XXXX","91350100M0000TXXXX","91350100M0001TXXXX",};public static bool CheckSocialCreditCode(string code) {if (code == null || code.Length != 18) return false;code = code.ToUpper();if (_whiteList.Contains(code)) return true;var factor = new int[] { 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28 };var str = "0123456789ABCDEFGHJKLMNPQRTUWXY";var total = factor.Select((p, i) => p * str.IndexOf(code[i])).Sum();var index = total % 31 == 0 ? 0 : (31 - total % 31);return str[index] == code.Last();}}

本文由比特飞原创发布,欢迎大家踊跃转载。

转载请注明本文地址:C#开发笔记之09-如何用C#判断社会信用代码是否合法? | .Net中文网。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。