zoukankan      html  css  js  c++  java
  • 身份证号验证js程序

    最近注册一个网站,居然让我输入个人身份证号,身份证号是个人信息,怎么能告诉你呢?

    输入正确的身份证号没有任何问题。

    我就仅仅改了最后一位,就告诉我身份证号不对,你是怎么知道的呢?
    所以,搜了下身份证号的验证方式,写了如下程序: 


    function idcode(code){ var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ]; code=code.split("") //校验位 var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ]; var sum = 0; var ai = 0; var wi = 0; for (var i = 0; i < 17; i++) { ai = code[i]; wi = factor[i]; sum += ai * wi; } var last = parity[sum % 11] code.push(last) return code.join("") }

    用法:输入 前17位,生成能够校验成功的第18位,返回完整可用身份证号

    比如我自己的身份证号
    61052520181221432X

      我的身份证号我本来就能记住,为方便记忆,我只修改第17位,然后用程序生成正确的第18位
      更改第17位 有0-9 共10种可能,程序如下:



    for
    (var i = 0; i < 10; i++) { code='6105252018122143'+i.toString() console.log(idcode(code).substring(16)) }

    返回结果如下:

     03
     11
     2X
     38
     46
     54
     62
     70
     89
     97

    这样,除了我自己的2X,我可以随便用个,就可以用假的身份证号蒙混过关。

     再来试试网站,用第一个吧,03,纯粹为了好记,

    ok,蒙混过关。

  • 相关阅读:
    appium 元素定位方法
    Mac 使用MuMu模拟器调试
    渗透测试工具Drozer安装使用(Mac)
    渗透测试工具Drozer安装使用(Windows)
    python虚拟环境搭建
    HDU 6900 Residual Polynomial【分治 NTT】
    CF 1405E Fixed Point Removal【线段树上二分】
    Educational Codeforces Round 41
    Educational Codeforces Round 39
    Educational Codeforces Round 36
  • 原文地址:https://www.cnblogs.com/wanghzh/p/9519354.html
Copyright © 2011-2022 走看看