银行卡密码都是6位纯数字,为何要这么设置?有何意义?
我来简单说一下吧。首先密码的加密不只MD5,比如说我可以先哈希一次,再 MD5,这样就把他尝试的第一步直接锁死了。其次可以将密码与服务数据,业务数据等所有数据分离,放在更深的库里,还有可以设计不同的映射方式,你知道了卡号,但找不到对应的密码,因为内部的算法可以匹配卡号与密码。外部无法接触。当然还有安全等级更高的操作。还有就是危险分析了,在正常的业务中,可以有很多方式分析出是不是正常的操作,在这一步大多数有问题的就可以封死。还有就是大家说的在物理上用U盾这些的,可以加很多层防护,这些要闯进来,那得提前做多少功课啊。
首先:人对数字瞬间记忆,大部分以六位数为界。超过六位数,人就很难记住了。试试记手机号码,比银行卡密码难记吧?其次:密码是六位数,能够成90万种密码,可以合乎我们庞大的人口基数对密码的需要了。再次:六位数的密码很难攻破,安全系数比较高。如果四位数,密码排列类型变少,安全性会被拉低。但八位数,虽然提升安全性,但增加了记忆难度,密码的丢失率就会上升。所以无论从哪方面来说,六位数的银行卡密码都是最优的选择了。诚然,6位数的密码和字母数字组合的密码相比,安全系数确实会低一些,但安全性和便利性本来就是矛盾的。
如果换成复杂密码,就会出现很多人忘记密码的情况,银行卡密码这样关键的东西,又不能仅仅通过手机验证码远程修改,所以忘记密码会变得非常麻烦。其实,6位数的密码真的有那么的不安全吗?如果有很大的安全漏洞,银行早就关门了。我们做一道数学题,000000~999999一共有100万个数字,除去123456这样的弱密码,至少有80万有效密码,攻击者破译的概率很低。而输错三次密码锁卡的机制又很好的防止了暴力破解。所以说,银行通过了其他机制弥补了6位数密码不安全的问题。最后很关键的,一点,如果密码形态变化了,ATM机岂不是全部要拆掉了,这成本可就太大啦。