2025-11-13 11:34:23
社保编码总共有18个数字,前6位是地址码,中间8位是出生年月日,后3位是顺序码,1位是校验码。地址码代表你户口所在省市县,出生年月日直接填真实日期,顺序码按户籍人口排队,校验码是防止输错自动算出来的。举个例子吧,假设你是北京人,2000年1月1日出生,户籍排在第1234位,那编码前六位就是110101,中间八位是20000101,后面就是031234,一位算出来是7,组合起来就是10112347。
为什么要这样设计呢?首先地址码6位刚好能覆盖全国所有区县,根据2020年民政部数据,全国有2800多个区县,6位二进制能表示64万种组合,足够用。出生年月日用8位纯数字,能精确到天,比如20000101就是2000年1月1日。顺序码3位能覆盖每个区县百万级户籍人口,比如北京大前年出生人口约12万,3位数字刚好够用。校验码用1位数字,根据前17位算出,出错率能降到百万分之一。比如前17位是1011234,用公式算出一位是7,如果少写个数字或者写错顺序,校验码就会不对,系统就能自动发现错误。这种设计既保证信息完整,又方便计算机自动校验,全国统一执行了15年都没出过问题。
本题链接: