`
greenmoon
  • 浏览: 48634 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

18位身分证校验码计算

 
阅读更多

18位的身份证的最后一位是校验码,这个校验码采用的是ISO 7064 Mod 11-2校验系统实现的,其校验公式如下:

 

公式说明:

  • n:字符串的字符个数(包括校验码)
  • i:字符位置序号(由右至左,包括校验码,空格与分隔符不及),即最右边的字符i=1
  • ai:字符值,0-10,10用X表示
  • r:底数,2
  • M:模数,11
java实现:



private static char check(String str)

	{

		int len = str.length();

		char[] ary = str.toCharArray();

		int sum = 0;

		for(int i = 0; i < len;i++)

		{

			int v = 0;

			char cur = ary[i];

			if(cur == 'X' || cur == 'x')

				v = 10;

			else

				v = Character.getNumericValue(cur);

			sum += v;

			sum <<= 1;

		}

		int temp = (12 - sum % 11) % 11;

		if(temp == 10)

			return 'x';

		return Character.forDigit(temp, 10);

	}
分享到:
评论

相关推荐

    18位身份证校验位计算方法

    本函数提供18位身份证校验位的计算方法,输入前17位即可得到第18位的校验码!

    身份证校验码计算器.bat

    此工具可通过计算,得出身份证号码最后一位。需提供身份证号码前17位,准确率100%。

    身份证校验位计算

    自动计算(18位)身份证最后一位校验位。 身份证号码组成:6位区域码,8位身份证号,2位序号,1位性别码(男奇数,女偶数),1位校验码,共计18位

    SQL15位和18位公民身份证校验函数

    ### SQL15位和18位公民身份证校验函数知识点详解 #### 一、背景介绍 在进行数据录入时,确保身份证信息的合法性至关重要。不正确的身份证信息将导致数据的有效性和准确性大打折扣。为此,设计了一款专门用于校验15...

    身份证的校验码 可用源码

    在编程领域,实现这样的身份证校验码计算功能通常会编写一个工具类,以便在各种项目中复用。 源码是程序员用特定编程语言编写的指令集合,可以直接运行或编译后执行。在这个案例中,“身份证的校验码 工具类”很...

    身份证校验码查询工具

    在本案例中,提供的“身份证校验码查询工具”是一个`.bat`批处理文件,可以便捷地帮助用户计算身份证的校验位,只需输入身份证号码的前17位即可。 身份证号码的结构分为三部分:地区码、出生日期码和顺序码,校验码...

    JAVA验证身份证号码校验码是否正确.zip

    这个方法首先检查身份证号码的长度,然后逐位计算乘积并求和,接着计算校验码,并与身份证号码的最后一位进行比较。如果两者相符,则身份证号码有效。 在实际应用中,你还可以添加更多的错误处理和异常处理机制,以...

    身份证校验码计算器.py

    可以计算身份证校验码,要python环境

    18位身份证校验

    用户可以输入18位身份证号码,程序会自动计算校验码并与输入的最后一位比较,如果一致则表明身份证号码有效,否则提示错误并显示正确的校验码。 在实际应用中,身份证校验广泛应用于各种领域,如银行开户、网络注册...

    新18位身份证校验代码

    #### 三、校验码计算方法 校验码是根据前17位数字计算得出的一个值,用以验证整个身份证号码的合法性。具体的计算方法如下: 1. **确定加权因子**:定义一组加权因子数组`{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, ...

    身份证校验码方法-Java

    根据提供的信息,我们可以总结出以下关于“身份证校验码方法-Java”的知识点: ### 一、身份证号码结构 中国的第二代居民身份证号码由18位组成,包括了以下几个部分: - **前6位**:行政区划代码。 - **第7至14位*...

    用sql实现18位身份证校验代码分享 身份证校验位计算

    身份证号码的校验码计算基于特定的算法,该算法涉及到前17位数字与一系列系数的乘积之和,然后对结果进行模11运算。具体步骤如下: 1. **确定系数**:对于身份证号码的第i位(从1到17),对应的系数为[2^(18-i)]mod...

    oracle 身份证号码校验函数

    Oracle身份证号码校验函数,可以将15位身份号码升为18位,检验出生年月等信息

    PHP身份证校验码计算方法

    通过以上步骤,我们可以完成一个基本的身份证校验码计算。PHP代码的实现方式包括两个版本:一个是具有详细注释的版本,便于理解整个流程;另一个则是去除了一些变量定义,对代码进行简化的版本,可以提高代码的运行...

    通过excel公共函数计算二代公民身份证号码末位校验码知识.pdf

    通过 Excel 公共函数计算二代公民身份证号码末位校验码是基于 GB 11643-1999 和 IOS 7064 的计算规则,用于计算 18 位身份证号码的最后一位校验码。该计算规则将身份证号码前 17 位数字按照特定的加权因子计算,最后...

    python 计算身份证校验码

    python 计算身份证校验码

    身份证校验码计算器-少儿编程scratch项目源代码文件案例素材.zip

    而身份证校验码的计算原理是计算机科学中的一个基础应用,适合用来引导孩子们学习编程。本项目以"身份证校验码计算器"为主题,利用Scratch这款面向少年儿童的图形化编程工具,为孩子们提供了一个直观、有趣的编程...

    VFP中身份证号码最后一位的校验码的算法

    校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。 公式如下:  ∑(a[i]*W[i]) mod 11 ( i = 2, 3, ..., 18 ) (1)  "*" 表示乘号  i--------表示身份证号码每一位的序号,从右...

    【PTA】【作者: 赵冲 单位: 厦门大学】7-1 身份证校验_python

    中国居民身份证校验码算法如下: 将身份证号码前面的17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 将这17位数字和系数相乘的结果相加。用加...

Global site tag (gtag.js) - Google Analytics