身份证加权因子的计算由来

QT C++ 判断身份证合法性 我将我国的身份证合法性检测规则分为如下四步: 1、取身份证最后一位为校验数字; 2、将其余数字与相对应位置的加权因子相乘并累加; 3、将累加和对11取模得到校验码表下标,根据得到校验码; 4、将步骤3校验码和步骤1得到的校验数字比对,如果相等则身份证合法。 将上述规则通过QT C++代码实现如下: /** * @brief 验证身份证号码 * @para IDNum:身... 阅读详情


(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




注:本文转载自:http://hi.baidu.com/niuhongjuan/item/2e5c6a62cbdaf02668105b1e





GmSSL国密双证书实战:从生成到Nginx配置全流程 本文详细介绍了使用GmSSL工具生成国密双证书(签名证书与加密证书)并配置Nginx支持国密HTTPS(TLCP协议)的全流程。内容涵盖环境准备、自签CA创建、服务器双证书生成、Nginx单向/双向认证配置以及兼容性处理,为部署符合国密标准的HTTPS服务提供实战指南。 阅读详情

相关推荐

ubuntu安装hodoop详细步骤

进入到Ubuntu系统中打开桌面,点击鼠标右键打开终端,在终端中输入如下命令这样就可以创建一名为hadoop的新用户。给用户输设置密码输入,输入如下命令,设置密码,按提示输入两次然后为hadoop用户增加管理员全新,这样就可以方便部署完成之后输入重启命令,重启一下Ubuntu系统,然后登录到我们创建的hadoop用户上面reboot。

2301_77603488的博客 9198

身份证加权因子

身份证加权因子 身份证号码位置i:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 n: 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

weixin_45804183的博客 2282

脑电分析中的频谱特征提取 —— 从理论到实践

本文系统介绍了脑电信号(EEG)频谱特征提取方法及其应用。EEG信号通过频谱分析可分为Delta、Theta、Alpha、Beta和Gamma等具有明确生理意义的频段。文章详细讲解了功率谱密度、频带功率、相对功率、频谱熵等关键特征的计算方法,并提供了Python实现示例,包括模拟数据和真实CHB-MIT癫痫数据集的处理流程。这些频谱特征在脑机接口、情绪识别、疲劳监测和癫痫检测等领域具有重要应用价值。文章强调频谱特征结合时域和非线性特征可提升分析效果,为EEG研究提供了实用指导。

qq_32516809的博客 1441

L1-016 查验身份证 (15分)

题目 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 7 6 5 4 3 2 现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。 输入格式: 输入第一行给出正整数N(≤100)是输入

Hanzoe的博客 868

保姆级!n8n 公众号自动化:从 0 搭 “写文案 + 生图 + 发草稿” 全流程

【摘要】本文介绍如何利用n8n搭建全自动公众号内容发布流程,涵盖AI文案生成、封面图制作到自动发布的全链路解决方案。通过对接OpenRouter大模型、阿里云百炼生图API及微信官方接口,实现从内容创作到发布的自动化。重点包括:1)n8n微信节点安装配置;2)大模型API授权与提示词优化技巧;3)图片生成与格式转换处理;4)公众号接口授权注意事项;5)草稿自动生成参数设置要点。特别提醒首次配置时需关闭自动发布功能以检查效果,避免格式错误导致发布失败。该方案无需复杂编程,适合运营人员快速搭建自动化内容生产流程

Jacket0603的博客 1590

别再踩坑了!Win10下用阿狸狗V3.2.6安装Cadence SPB 17.4的保姆级避坑指南

本文提供了Win10系统下使用阿狸狗V3.2.6安装Cadence SPB 17.4的详细避坑指南,涵盖环境准备、安装失败清理、分步安装与问题诊断、授权配置及典型故障排除等内容,帮助用户顺利完成安装并避免常见错误。

weixin_32576389的博客 359

[转]java实现—身份证号码验证

[color=red]原文地址:[/color][url]http://akunamotata.iteye.com/blog/333228[/url] 身份证号码的编码原理: 号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码 ,八位数字出生日期码 ,三位数字顺序码 和一位数字校验码 。 校验码的计算 (1)十七位数...

unixtux的专栏 270

用PyCharm+Scrapy打造你的第一个爬虫:从安装到实战(附完整代码)

本文详细介绍了如何使用PyCharm和Scrapy框架从零开始构建高效网络爬虫。通过环境配置、项目创建、核心爬虫逻辑编写到数据处理与存储的完整流程,帮助Python开发者快速掌握爬虫开发技巧,并附有实战代码示例。特别适合想要学习Scrapy框架和提升爬虫技能的开发者。

weixin_29038345的博客 867

【贡献(权重)分配】Shapley Value 夏普利值的理解以及实例说明

是理论中的一个概念,由劳埃德-夏普利在1951年提出了这个概念,并因此在2012年获得了诺贝尔经济学奖。对于每个合作博弈,它为所有玩家的联盟产生的总盈余分配了一个独特的分配。

weixin_43578061的博客 1万+

Mac用户福音:三步搞定PyMol开源版,告别许可证弹窗(附Homebrew/MacPorts安装指南)

本文为Mac用户提供三步安装PyMol开源版的详细指南,帮助科研人员告别许可证弹窗烦恼。通过Homebrew或MacPorts包管理器安装开源核心,并与商业版图形界面整合,实现无干扰的分子可视化研究体验。特别适合MacOS用户快速部署PyMol进行结构生物学分析。

weixin_28743405的博客 194

导航系统 | 全球四大卫星导航系统(2025)核心能力对比分析

北斗系统通过GEO卫星(80°E、110.5°E、140°E)实现区域增强,其IGSO卫星在亚太地区形成"8"字形轨迹,使该区域可见卫星数量比GPS多4-6颗,显著提升复杂环境下的定位可用性[13]。北斗短报文功能在2025年云南地震救援中发挥关键作用,被困人员通过北斗终端发送120字求救信息,实现"位置+状态"一体化上报,救援响应时间缩短40%[15]。北斗通过三频信号(B1C/B2a/B3)消除电离层延迟误差,在城市峡谷环境下定位连续性达99.98%,优于GPS的99.95%[5]。

尘世冰封的专栏 2610

身份证号码验证算法

做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。 (一)18身份证号码的结构  公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。   排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 1、地址码   表示编码对象常住户口所在县(市、旗、区)的行政区域划分代码,按G...

weixin_33774308的博客 520

Dify框架面试内容整理-如何优化Dify的应用性能?

为1536维)可选用 PCA、FAISS 的量化压缩方法降低维度(如128、256、512);对知识库预览、任务流配置等页面,使用 nginx/cache-control 减少请求。API 响应耗时(P50/P95)、Token 使用量、缓存命中率、向量检索耗时;对 Prompt+输入内容计算 Hash,缓存相同请求的返回结果;使用占位符 + 函数拼接,按需组合 Prompt,而非静态长模板;数据量大时,应在构建索引前清洗冗余段落、统一格式,避免重复向量。维度越低,检索越快,但可能影响召回准确度,需平衡。

不务正业的猿 1548

身份证号的计算规则是怎样,如何校验一个身份证号是合法的?

我们要做校验身份证是否合法,首先要知道身份证号的组成规则,下面我们就来说说这个身份证号: 大家都应该知道我们身份号有两种,一种是15位数的身份证号 另一种是18位身份证号 15位:6位常住户口所在县(市、旗、区)的行政区划代码(xxyyzz),6位出生年月日(901212),最后三位称为顺序码,是对前12位编号相同的人编定的顺序号,其中奇数分配给男性,偶数分配给女性。 18位:6位...

banggujuan3308的博客 1657

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

加权相关-身份证验证码

统计学认为,在统计中计算平均数等指标时,对各个变量值具有权衡轻重作用的数值就称为权数.   还是举个例子吧,求下列数串的平均数   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就叫权数。...

bangrulu3140的博客 270

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java实现18位身份证号码的校验码计算校验

我国第二代公民身份号码是特征组合码,由前十七位数字本体码和最后一位数字校验码组成。排列顺序从左至右依次为六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。本文只介绍最后一位数字校验码的计算校验。 校验码算法 将本体码各位数字乘以对应加权因子并求和,除以11得到余数,根据余数通过校验码对照表查得校验码。 加权因子: 校验码: 算法举例: 本体码为:11010519491231002 第一步: 各位数与对应加权因子乘积求和1*7+1*9+0*10+1*5+***=167

益添的博客 4537

身份证有效性的验证

public class IdCardVerify { public static boolean idCardVerify(char[] idCardNum){ //身份证的编码规则(18位) //前六位是地区代码,第七位到第十四位出生年月日,第十五、十六为派出所代码,第十七为是性别,最后一位是校验码 //校验的计算公式:身份证最后一位=从左到右身份证的数字乘以加权因子求和 % 11 int sum=0; int[].

balingmobanche的博客 1545

js身份证校验方法集合

校验方法一: /* * 身份证15位编码规则:dddddd yymmdd xx p * dddddd:6位地区编码 * yymmdd: 出生年(两位年)月日,如:910215 * xx: 顺序编码,系统产生,无法确定 * p: 性别,奇数为男,偶数为女 * ...

滴水石穿 3365

身份证校验规则

/* * 身份证15位编码规则:dddddd yymmdd xx p * dddddd:6位地区编码 * yymmdd: 出生年(两位年)月日,如:910215 * xx: 顺序编码,系统产生,无法确定 * p: 性别,奇数为男,偶数为女 * * 身份证18位编码规则:dddddd yyyymmdd xxx y * dddddd:6位地区编码 * yyyymmdd: 出生年(四位年)月日,如:19910

sq66666的博客 1937

身份证号的校验码

某公民身份证号本体码为51078107010228001,其校验码计算过程如下,该公民身份证号为510781070102280016。表示从右到左包括校验码字符在内的位置序号;个位置上的加权因子,其计算公式为。取值为10时,用罗马数字X表示。个位置上的号码字符值;的换算关系如下表所示,

2301_78471905的博客 3130

比较严谨的检验身份证号的真实性与合法性

我们都知道,身份证号是我们每个人的唯一的标识,既然要做到唯一性,身份证号的设计肯定不会仅仅只是设计成18位,最后一位是数字或者“X”这么简单,仅仅只是这么来设计就太low了,而且很容易出现重复的情况,先看看身份证号每一位代表的意思 身份证号码各位数字代表含义 再看看身份证号的校验计算方法 身份证号校验计算方法 1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分...

kivet的博客 4448

身份证验证

functioncardindex(){ varobj=$("input[name='card']"); varidCard=obj.val(); //15位和18位身份证号码的正则表达式 varregIdCard=/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)| (^[1-9]\d{5}[...

printfl的博客 178

身份证号规则校验

第18位数字是校检码:也有的说是个人信息码,一般是随计算机的随机产生,用来检验身份证的正确性。第7-12位数字表示:出生年(缺省18,19,20这种)、月、日;第15位数字表示性别:奇数表示男性,偶数表示女性;第17位数字表示性别:奇数表示男性,偶数表示女性;第15、16位数字表示:所在地的派出所的代码;前1、2位数字表示:所在省份的代码;第3、4位数字表示:所在城市的代码;第5、6位数字表示:所在区县的代码;第3、4位数字表示:所在城市的代码;第5、6位数字表示:所在区县的代码;

qq_47614329的博客 5163

php下对中国内地身份证进行验证

//验证身份证是否有效 public function check_idcard($idcard) { if(preg_match('`^[0-9a-zA-Z\(\)]+$`', $idcard)){//基本格式 //return true; if (strlen($idcard) == 18) { check18IDCard($idcard); //18位身份证校验码有效性检查 } elseif ((strlen($idcard) == 15)) { $idcard

陌小白的博客 3480

使用Java实现身份证真假校验

(1)身份证18位数(2)前17位为是数字,最后一位为验证位,计算最后一位规则如下:证号码前17位数 从第一位开始到第十七位每位数分别于加权因子相乘求和 加权因子:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。再将和对11求余,得到余数余数于最后一位检验位对应关系如下 #########余数:0-1-2-3-4-5-6-7-8-9-10。 身份证最后一位:1-0-X-9-8-7-6-5-4-3- 2 。 例如,求得余数为3,则身份证最后一位为9 2.自定义方法isCard 代

weixin_44703268的博客 7634

python验证身份证

def get_checkcode(id): """ 计算身份证号码的校验位; :param: * id_number_str: (string) 身份证号的前17位,比如 3201241987010100 :returns: * 返回类型 (tuple) * flag: (bool) 如果身份证号格式正确,返回 True;格式错误,返回 False * checkcode: 计算身份证前17位的校验码 .

rta_bh的博客 740
上一篇: 常见纸飞机的折法
下一篇: Platform SDK 字符串处理 API
DavidHsing
博客等级 码龄19年 782粉丝 127原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值