加权相关-身份证验证码

统计学认为,在统计中计算平均数等指标时,对各个变量值具有权衡轻重作用的数值就称为权数.

  还是举个例子吧,求下列数串的平均数

  3、4、3、3、3、2、4、4、3、3、

  一般求法为(3+4+3+3+3+2+4+4+3+3)/10=3.2

  加权求法为(6*3+3*4+2)/10=3.2

  其中3出现6次,4出现3次,2出现1次.6、3、1就叫权数。这种方法叫加权法。

  一般说的平均数,就是把所有的数加起来,再除以这些数的总个数。表示为:

  (p1+p2+p3+.....+pn)/n;

  但有的数据记录中有一些相同的数据,在计算的时候,那一个数有几个相同数,就把这个数乘上几,这个几,就叫权,加权,就是乘上几后再加。平均数还是要除以总个数。

  还是以上面的各个数为例:

  它们每个数都有一些相同数,表示为:k1,k2,k3.......kn;

  加权平均的公式是:(k1p1+k2p2+k3p3+......knpn)/(k1+k2+k3+.....kn)

进而扩展:中华人民共和国身份证验证规则

公民身份证号码是特真组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址,八位数字出生日期玛,三位数字顺序码和一位数字校验码。

关于校验码:

(1)十七位数字本体码加权求和公式

S = Ai * Wi, i = 2, ... , 18

Y = mod(S, 11)

i: 表示号码字符从右至左包括校验码字符在内的位置序号

Ai:表示第i位置上的身份证号码字符值

Wi:表示第i位置上的加权因子

i:      18    17    16     15    14    13    12    11    10    9     8     7     6     5    4    3    2    1

Wi:    7      9     10      5      8      4      2      1      6     3     7     9    10    5    8    4    2    1

(2)Y值对应的校验码字符值:

Y:            0    1    2    3    4    5    6    7    8    9    10

校验码: 1     0    X    9    8    7    6    5    4    3     2

试算一个:身份证号是14010519590215222a1

i:      18    17    16     15    14    13    12    11    10    9     8     7     6     5    4    3    2    1

Ai:     1      4      0       1       0     5       1     9      5     9     0     2     1     5    2    2    2    a1

Wi:    7      9     10      5      8      4      2      1      6     3     7     9    10    5    8    4    2    1

根据公式 S = Ai * Wi=7+36+0+5+0+20+2+9+30+27+0+18+10+25+16+8+4=217

217/11=19+8/11

Y = mod(S, 11)=mod(217,11)=8

所以,检验码为4,该人的身份证号为140105195902152224

加权相关-身份证验证码

时间: 2024-10-22 14:48:25

加权相关-身份证验证码的相关文章

Java电商常用正则表达式 手机号 邮箱 身份证 验证码等

package cn.java.com; import java.util.regex.Pattern;/** * 账户相关属性验证工具 * */public class VerifyUtil { /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$"; /** * 正则表达式:验证密码 */ public static final String REGEX_PASSW

jsp实现验证码

在web开发领域里面,验证码是一个比较常见的功能,而归根到底,验证码其实就是一组随机数,或者是一个随机算术 一.基本知识 1.为什么需要验证码? 验证码,很多时候出现在注册页面或者登陆界面,在这些页面中有可能会出现恶意注册和暴力破解,这时候验证码可以有效防范这些攻击.所以,总的来说,验证码很多时候是为了防止不法分子对网站进行恶意的注册和攻击,是一种有效的拦截手段. 2.验证码的工作原理 首先,我们要明确一点就是,验证码实际是在服务器端产生的,因为如果在前端参数的话并不能有效拦截,因此很多时候,在

cas server 基础 数据库 验证码实现及其配置

由于需要从业务上将系统拆分成多个独立的子系统,所以需要sso.这里主要是讲述一下server 端的配置. 下面按照几个步骤进行描述 下载cas-server-4.1.9 (https://github.com/apereo/cas) 构建 server (maven)工程. 目录结构 基本配置 验证码配置 1.下载 在 https://github.com/apereo/cas 可以下载cas-server 的源代码 也可以在直接使用maven 进行构建. 如果是下载源码,那么复制里面的工程(c

思梦PHP-阿里大鱼手机验证码

小伙伴是否做PC网站的时候,是否遇到过注册用户需要使用短信验证的功能呢?或者找回密码,以及验证用户的信息等等功能!今天思梦PHP就为大家带来ThinkPHP整合阿里大鱼短信验证的功能! 首先,我们要明白短信发送是什么原理,其实我们使用的第三方是一个通讯的短信协议,然后把我们随机生成的一个验证码发送到用户的手机上,之后我们发送的同时在数据库里面要保存相应的信息用来验证,原理就是这样的了,下来我们就开始一步一步的教大家去玩这个功能! (1)我们要去建一个保存短信消息的数据表 DROP TABLE I

通过php生成纯数字、字母数字、图片、纯汉字的随机数验证码

现在讲开始通过PHP生成各种验证码旅途,新手要开车了,请刷卡! 首先,我们开始先生成一个放验证码的背景图片 注:没有Imagejpg()这个函数,只有imagepng()函数 imagecreatetruecolor()函数含义 效果 考虑到我们一般验证码的背景图片为白色,那么我们现在就把背景图片改一下 效果 相关函数意思 注:在输出图片之前,我们必须要生成header("Content-type:image/png"),即告诉服务器输出的是图片 一.生成纯数字验证码 1.产生数字的代

[blog]验证码识别--资料收集

证码识别--资料收集 一.验证码基础知识 验证码设计的目的就是区分“人”和“机器”,所以它在被设计的时候,主要的目的就是防止被采用就是自动识别出来.所以作为破解者来说,一开始就是处于劣势地位的.当然这使得验证码的破解变成了一项结合图像识别.模式识别的猜谜解题活动. 验证码的识别很难达到100%.因为在现实生活中,人也可能是识别错误的,所以当错误发生的时候,验证码识别系统会再提供一个新的验证码.如果单次识别有50%的识别成功率(也就是50%的失败率),那么连续三次的总体成功率就可以达到0.875(

验证码的原理、作用及实现

学习实现验证码,效果如下 分别提交正确.错误的验证码及对应效果       ///// /////////////////////////////////////     ///// ******************************  验证码  的作用  **************************************** 验证码是目前大多网站所支持并使用于注册登录的.就在于其作用能有效防止恶意登录注册,验证码每次都不同, 这就可以排除,用其他病毒或者软件自动申请用户及自

身份证件号的验证与更改

(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成. 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码. 1.地址码 表示编码对象常住户口所在县(市.旗.区)的行政区域划分代码,按GB/T2260的规定执行. 2.出生日期码  表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月.日代码之间不用分隔符. 3.顺序码 表示在同一地址码所标识的区域范围内,对同年.同月.同日出生的人编定的顺序号,顺序码的奇数分配

x264源代码简单分析:滤波(Filter)

本文记录x264的x264_slice_write()函数中调用的x264_fdec_filter_row()的源代码.x264_fdec_filter_row()对应着x264中的滤波模块.滤波模块主要完成了下面3个方面的功能: (1)环路滤波(去块效应滤波)(2)半像素内插(3)视频质量指标PSNR和SSIM的计算 本文分别记录上述3个方面的源代码. 函数调用关系图 滤波(Filter)部分的源代码在整个x264中的位置如下图所示. 单击查看更清晰的图片 滤波(Filter)部分的函数调用关