cenbiq 最近的时间轴更新
cenbiq

cenbiq

V2EX 第 534325 号会员,加入于 2021-02-23 10:09:27 +08:00
cenbiq 最近回复了
@jaydenhu8077 你搞混了 validation 和 identification 两个概念,checksum 只能做 validation 即有效性验证,让你输入完手机号就能告诉你是否是一个可能的手机号,无法帮你去 identification 。就以你的例子,你都把两个人号码完全记混了,这说明你需要的是通讯录。checksum 校验当然发生在输入完完整号码时
@jaydenhu8077 你还是没懂 checksum ,checksum 保证了不会 1-2 位数字变动能给你拨出去的可能,原号码 123457 如果是一个存在的号码,那么 123456 就一定不是一个可能的号码
3 天前
回复了 hessian 创建的主题 硬件 关于 SSD 寿命的疑惑
我都是在网上看了对应型号的暴力测试/老化测试才敢买
4 天前
回复了 yxmyxmyyy 创建的主题 Windows win11 是不是更新了字体
难怪最近我的 Chrome 字体突然让我觉得有点陌生
@jaydenhu8077 你的例子就很适合,checksum 就是可以防止你说的这种情况,比如说按照某种 checksum 算法 12345-后面只能跟 6 ,那么你输入 7 一定提示你号码不存在/验证失败,你拨给 123457 拨不出去因为不符合 checksum 规则,它不是一个可能的号码。如果错中间 N 位同样过不了 checksum ,除非你的错误正好原号码位和 checksum 位都对应了,那这就很巧了(类似于 md5 碰撞
@yh7gdiaYW 大多时候都是按错数字,比如说银卡输入也是,银行卡号+名字。名字就相对于校验码,大多时候都在靠这个名字校验银行卡是否输入准确。
@nedqqcc 这倒是,因为手机电话发明出来之后马上进入移动互联时代,这导致手机号播错已经不是啥大问题了。现在联系方式多种多样,还有通讯录不需要人工输入手机号,唯一的作用就是在面对面添加对方手机号的时候能当场输入当场验证,不过这点也被直接播对面号码解决了。校验码的想法是对的,就像有人说的身份证就是这样,只不过时代变了这个需求没那么硬了。
@shine1996 当然可以解决,我上面已经举例子了,如果是 3 位数字+1 位依次相加校验码,那么输入 1-2-3 之后必须输入 6 。以这个举例子,你把 123 想象为对方手机号前 len-1 位,最后一位为校验位,那么 1236 是唯一的 123 开头的手机号码的可能形式,输入 1235 或者 1246 一定判定为错误手机号。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5118 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 03:38 · PVG 11:38 · LAX 20:38 · JFK 23:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.