身份证号、姓名按照某个规则加密

本文介绍如何按照特定规则对身份证号和姓名进行加密,以保护个人隐私数据。通过示例110101198808083034加密后的结果,展示加密过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、身份证号加密
规则如下:
出生月份+1,如果超出12则变01;倒数第2、3位+1,如果超出99则变01,最后还要重新计算最后一位的校验码,计算规则如下:
(1)身份证号码前17位数分别乘以不同的系数并相加 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)用第1步的结果除以11,余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字中,分别对应身份证的最后一位1 0 X 9 8 7 6 5 4 3 2
       

例:110101198808083034 加密后为 110101198808083034

/// <summary>
/// 证件加密:出生月份+1,如果超出12则变01;倒数第2、3位+1,如果超出99则变01,重计最后一位校验码
/// </summary>
/// <param name="idno"></param>
/// <returns></returns>
public static string GetEncryptIdNo(string idno)
{
    string tempIdno = "", newIdno = "";
    if (idno.Length != 18)
        return idno;
    string head = idno.Substring(0, 10);
    strin
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值