V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lingyired
V2EX  ›  问与答

手机号码、身份证号码在显示的时候应该隐藏哪几位?

  •  
  •   lingyired · 2015-04-28 11:50:10 +08:00 · 30484 次点击
    这是一个创建于 3506 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在产品的部分场景需要显示用户的手机号码和身份证号码,一般我们会将中间的几位用 '*' 号隐藏。
    那么是否存在一个规范用来确定什么类型的号码需要隐藏哪几位?
    19 条回复    2015-04-28 22:26:34 +08:00
    nervouna
        1
    nervouna  
       2015-04-28 11:51:44 +08:00
    偷懒的做法是只显示最后四位。
    stiekel
        2
    stiekel  
       2015-04-28 12:09:25 +08:00
    感觉这个要看情况吧,主要是看一串数字中,哪些是最不容易被获取到个人信息的。

    身份证号前六位省县派出所码,和中间八位出生年月码,可以通过其它办法拿得到,但如果不隐藏,则很容易弄到不少个人信息。接下来三位,其实是不容易通过其它方式获取到的——感觉是需要重点隐藏的。
    最后一位最没有价值,可以显示。

    手机号,前三位肯定可以显示,接下来的四位数,是按地区来的,所以应该隐藏。而最后四位,至少应该隐藏两位。
    gDD
        3
    gDD  
       2015-04-28 12:51:19 +08:00 via iPhone   ❤️ 3
    楼上错了,最后一位是校验位,是穷举的关键突破口,一定要隐藏。

    然后倒数第四位至倒数第二位的三个数字可以认为是随机的,猜不出来只能穷举,重要!

    前面几位数楼上说了,包含个人信息,所以按需隐藏吧。

    TL;DR: 必须隐藏最后四位。
    yylzcom
        4
    yylzcom  
       2015-04-28 13:01:12 +08:00
    @gDD 我不知道你说的哪儿不对,但觉得你说的就是不对。

    按照你的说法,你说应该隐藏哪几位数字而显示哪几位?
    ETiV
        5
    ETiV  
       2015-04-28 13:04:21 +08:00 via iPhone   ❤️ 1
    手机号:138xxxx8888
    身份证号:
    展现给自己:100110xxxxxxxx8888
    展现给别人:xxxxxxxxxxxxxx8888

    关于身份证号,设计隐藏的初衷是给用户自己一种安全的感觉,实际上后台都保存完整的。所以做好安全为重。

    如果真需要展现给全部用户,只给后四位好了,够穷举一会儿了。印象中给招行信用卡客服打电话,一般都校验身份证后六位的。
    stiekel
        6
    stiekel  
       2015-04-28 13:05:06 +08:00   ❤️ 1
    @gDD 其实,我的意思是最后一位是可以通过前面算出来的。
    而实际上,仅通过最后一位来验证身份证号码是否正确,其实是不靠谱,尤其是不确定的位数有两个以上时。
    243205964
        7
    243205964  
       2015-04-28 13:06:55 +08:00
    比方说我的手机号码 ×××××××××13 个人认为这样显示手机号码比较好。
    身份证号码就不知道了。。
    Hello1995
        8
    Hello1995  
       2015-04-28 13:07:33 +08:00 via Android   ❤️ 1
    身份证号各位代表的意思,以及最后一位校验码算法:
    http://www.zhihu.com/question/19823489

    个人觉得手机号和身份证号应该这样隐藏
    130****1234。
    3535**20150428****。
    FrankFang128
        9
    FrankFang128  
       2015-04-28 13:10:12 +08:00
    身份证不要显示给别人啊,显示给自己看的话随便啊。
    yylzcom
        10
    yylzcom  
       2015-04-28 13:15:10 +08:00   ❤️ 1
    这个问题要考虑展示受众数量大小

    ****整个库都要展示给大量受众****
    前六位地区可以考虑隐藏1到2位
    生日年份保留前三位,隐藏最后一位
    生日月份显示
    生日日期隐藏(或者隐藏第一位)
    最后四位隐藏最后一位,还有前三位的任意一位

    例子:45*222198*02*9003*

    这样既可以保护隐私,又不至于让客户看起来好假,要不像3楼说的,最后四位必须隐藏,那生日和派出所信息岂不是更要隐藏,干脆直接给客户展示18位星号算了。

    ****小部分,少受众****
    比如只是展示库中的几条给特定人群(投资人等)可以只隐藏生日月份和日期,其余展示。这种短时间小受众的展示基本不用担心泄漏客户隐私
    lingyired
        11
    lingyired  
    OP
       2015-04-28 14:03:24 +08:00
    @nervouna
    @gDD
    @stiekel
    @FrankFang128
    @yylzcom
    @Hello1995
    @243205964

    我们的需求是展示给用户自己看的(他自己的设置页面中可以看)。
    原来这一块没有一个规范,现在暂时隐藏身份证后四位以及生日的日期。
    NeoAtlantis
        12
    NeoAtlantis  
       2015-04-28 14:57:14 +08:00 via Android   ❤️ 1
    公民身份号码是有国标的,去搜下。

    我觉得应该隐藏的是右侧的四位。光知道前六位就不过是出生地,继续8位是生日。这些对于一个地区人口超过比如50x366(50年*366天)还不到两万人的地方就一定有重复的,根据生日问题可能有140人的地方就能50%找到重复的。

    后三位我记得包含性别和上户口的顺序以及校验码,感觉包含的信息量挺多的……
    NeoAtlantis
        13
    NeoAtlantis  
       2015-04-28 15:00:45 +08:00 via Android
    @lingyired 给用户看就应该反过来显示后四位。

    比如我们说学号,有39051101,39051102, 39051103, ......能显示差异的就是末尾……
    x86
        14
    x86  
       2015-04-28 15:01:32 +08:00
    感觉重要的是后4位,前面知道就猜的到,出生地(6位)+生日(8位)
    bot
        15
    bot  
       2015-04-28 15:07:10 +08:00
    ********************
    243205964
        16
    243205964  
       2015-04-28 15:08:04 +08:00
    手机号码不管什么情况下给客户都要×××××××××13

    身份证号我不知道怎么弄。。
    zchzch1014
        17
    zchzch1014  
       2015-04-28 15:29:56 +08:00 via iPhone   ❤️ 1
    身份证号最后四位一定要隐藏
    mrjoel
        18
    mrjoel  
       2015-04-28 22:00:20 +08:00
    说到这里 极其想吐槽新版支付宝的身份证隐藏。。。。。显示前五位与后三位。。。

    如果知道生日(我相信这个根本不需要什么社会工程学)

    前面还有一位。。后面四数字部分还有第一位。。10*10的组合。。。这。。。都不用暴力破解了。
    gamexg
        19
    gamexg  
       2015-04-28 22:26:34 +08:00   ❤️ 1
    感觉最后4为最应该隐藏。
    社工弄到用户生日、籍贯并不难,再配上后四位就直接得到用户身份证了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5293 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 03:46 · PVG 11:46 · LAX 19:46 · JFK 22:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.