`

组织机构号 校验算法

    博客分类:
  • C
  • C++
c 
阅读更多
int    check_zzjgm(char *in_data)
{
    int  right[] = {3, 7, 9, 10, 5, 8, 4, 2};
    int  dwTmp   = 0;
    int  i       = 0;
    int  sum     = 0;
    int  index   = 0;
    char C9      = 0;

    if(9 != strlen(in_data) && 10 != strlen(in_data))
    {
        return -1;
    }

    for(i=0; i<8; i++)
    {
        if('A' <= in_data[i] && 'Z' >= in_data[i])
        {
            dwTmp = (in_data[i] - 'A' + 10) * right[i]; /* A=10 B=11 ... Z=35 */
        }
        else if('0' <= in_data[i] && '9' >= in_data[i])
        {
            dwTmp = (in_data[i] - '0') * right[i];
        }
        else
        {
            return -1;
        }
        sum += dwTmp;
    }

    switch(index = 11 - sum % 11)
    {
    case 10: C9 = 'X'; break;
    case 11: C9 = '0'; break;
    default: C9 = '0' + index; break;    
    }

    /* printf("in_data=%s C9=%c\n", in_data, C9); */
    return (C9 != in_data[ strlen(in_data) - 1]) ? -1 : 0;
}
分享到:
评论

相关推荐

    组织机构代码效验

    全国组织机构代码是一种在中国特有的标识机构身份的编码系统,它被广泛应用于企业的注册、税务、银行等各个领域。代码由九位字符构成,包括八位本体代码和一位校验码,是确保机构信息准确无误的重要手段。下面将详细...

    单位组织机构代码校验函数(oracle)

    通过上述分析可以看出,这个函数实现了一个完整的组织机构代码校验流程,不仅考虑到了基本的长度和格式要求,还通过特定的算法计算并验证了校验码的正确性。在实际应用中,这种类型的函数能够极大地提升数据处理的...

    企事业单位的组织机构代码验证代码

    验证组织机构代码的算法基于一个简单的数学公式:对前八位字符(数字或字母)进行加权求和,然后计算出校验码。具体步骤如下: 1. **初始化变量**: - `str`:包含所有可能出现在组织机构代码中的字符(数字0-9...

    组织机构代码生成器

    组织机构代码通常由国家或地区的管理机构发放,其结构可能因地区而异,但大体上包括几个组成部分:前缀、地区码、主体码和校验码。前缀通常是国家或地区的代码,例如中国的OCC以"91"开头;地区码则表示机构所在行政...

    GOCI数据产品算法说明

    文档内容的组织形式为GDPS 1.3软件版本的算法描述,包含了上述提到的各个方面。每个部分都由相应的研究人员合作完成,他们分别来自韩国海洋卫星中心、韩国海洋科学技术研究院、韩国研究所以及延世大学天文、大气与...

    法人和其他组织统一社会信用代码编码规则

    7. 最后一位是校验码,根据前17位数字通过特定算法计算得出,用于检查整个编码的正确性。 统一社会信用代码的实施,大大简化了政府、企业和公众对各类组织信息的查询和验证过程,提高了数据共享的效率和准确性。...

    广播算法论文-地理信息科学毕业论文.doc

    3. **功率控制算法**在车载自组织网(VANET)中至关重要,尤其是针对车辆状态信息的广播。这种算法可以根据车流密度动态调整发射功率,确保信息有效传播的同时避免资源浪费。通过构建和更新直接邻居列表,节点可以...

    单位代码批量校验工具

    单位代码批量校验工具是一种专为处理和验证组织机构代码而设计的实用软件。在信息化社会中,单位代码是识别和区分各类企事业单位、机关团体等法定身份的重要标识,它具有唯一性和标准化的特点。此工具的主要功能在于...

    基于c++的Opencv实现KCF跟踪算法(未使用官方函数).zip

    目前,OpenCV由非盈利组织OpenCV.org维护,并得到了全球开发者、研究机构以及企业的持续贡献和支持。 主要特点 跨平台:OpenCV支持多种操作系统,包括但不限于Windows、Linux、macOS、Android和iOS,确保代码能够...

    国际标准书号与图书条形码释义及其转换算法(ISBN)

    一个完整的ISBN由13个数字组成,分为五个部分:前缀、组号、出版者号、书名号和校验码。前缀通常是978或979,表示ISBN系统;组号根据出版物的国家或地区来分配,比如中国的组号是7;出版者号是根据出版商的规模和...

    POS机算法

    - **合规性**:确保算法符合监管机构的要求,如PCI DSS(支付卡行业数据安全标准)。 压缩包中的“ISO8583B”很可能是一个关于8583协议的源码实现,可能包含解析和构造8583消息的函数、类或者整个框架。研究这个...

    GA 380-2002 全国公安机关机构代码编制规则

    4. **校验码**:最后一位通常是校验码,通过特定算法计算得出,用于检查整个机构代码的正确性。 在GA 380-2002标准中,除了规定了机构代码的构成和编制规则,还详细阐述了编码的原则、编码方法、编码变更及管理等...

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

    这个代码由18位数字或字母组成,包含了丰富的信息,如行政区划代码、机构类别代码、组织机构代码等。在《GB 32100-2015 法人和其他组织统一社会信用代码编码规则》中,对这18位代码的生成和校验有明确的规定。 校验...

    国密数字证书验证-SM2、SM3、SM4

    1. 验证证书的签名:使用SM3算法计算证书的哈希值,然后使用证书颁发机构的公开密钥(SM2算法)解密签名,对比解密后的哈希值与计算值是否一致。 2. 验证证书链:逐级向上验证所有中间证书直至根证书,确保每个证书...

    JavaScript中校验银行卡号的实现代码

    3. **校验前缀**:银行卡号的前缀通常代表着发卡机构,因此可以对卡号的前几位进行检查,确保它们符合某个银行或卡组织所使用的有效范围。 4. **Luhm校验**:这是一种校验和校验位算法,利用一种特定的算法,通过...

    天文岁差、章动校正方法

    6. 天文校正模型算法: 包括了解决岁差和章动影响的方法,以及如何进行从天体坐标到地面坐标系统的转换。 这些概念对于天文学家、地理学家、测绘师以及任何需要进行精确空间定位的专业人士来说至关重要。了解和应用...

    4-9 测量仪器的检验和校正.zip

    同时,校正应参照相应的标准进行,这些标准可能来自制造商、国家标准机构或国际组织,如ISO(国际标准化组织)。 四、校正证书与记录 完成校正后,应出具校正证书,记录下校正前后的测量数据、使用的标准、校正值...

    加解密、证书解析

    2. X.509证书:这是最常用的数字证书格式,包含公钥、主体信息(如组织名、域名)、颁发者信息、有效期等字段,用于验证服务器或客户端的身份。 3. 证书链验证:在解析证书时,需要检查证书的签发者,如果签发者不是...

    电力系统继电保护校验与评估系统分析.pdf

    二是利用工控机构建保护装置,并用C语言编写软件,通过动态模拟试验验证保护算法。然而,这两种方法在寻找问题和清晰度方面存在不足,因此需要一套功能完备、实用性强的继电保护校验与评估系统。 该系统的设计目标...

Global site tag (gtag.js) - Google Analytics