- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试对用于生成校验位的算法进行逆向工程。
数字有 8 位,最后一位是校验位。我有数以千计的有效数字来测试它。
我已经尝试了标准的 Luhn、Verhoeff 和模 10 算法(对所有可能的权重进行强力检查),但找不到答案!
这个可以计算吗?有什么想法吗?
这里是一些有效数字的例子:
1002784-5
1000514-7
1001602-8
1001255-2
1001707-1
1003355-5
1005579-1
1004535-0
1004273-1
1001695-9
1004565-9
1000541-9
1001291-1
1005866-1
1004352-7
编辑:谢谢大家 - 不幸的是我无法访问代码。该号码是税号,我需要能够验证号码是否输入正确。根据我的研究,看起来大多数国家/地区都使用非常标准的模 10 类型系统。我可以访问大约 60 000 个号码。
我明白这个问题可能无法解决,更多的是学术问题。
最佳答案
首先检查你的上下文:
如果上下文是信用卡、驾照、政府执照号码(不是 SSN),请考虑 Luhn 或 Mod 10。如果是其他行业,该行业是否有事实上的标准?如果不是,使用这些数字的系统开发者是否也是具有事实上标准的行业中的参与者?
如果没有必要,没有人愿意重新发明轮子。
如果这没有帮助请记住:
不要假设您要测试的 key 中的所有数字都用于得出校验位。可能只有 4 位或 8 位数字用于计算校验位(或任何其他组合)。也可能有一些外部前缀号与其他数字一起使用以得出校验位。所以...用相同的校验位排列你所有的号码,看看有什么相似之处。你能给它们加一个数字然后总是达到校验位吗?你能只测试前几位数字吗?最后几位?每隔一个数字?
祝你好运。
关于algorithm - 逆向工程校验位算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13495456/
我正在编写一个函数来根据给定的字符串构建校验和。 校验和定义为: 校验和之前一行所有字符(包括STX和CR)的二进制和的低7位的2的补码。 到目前为止我想出了: CheckDigit = getche
CUSIP 是一个 9 位字母数字代码,用于唯一标识金融证券。 https://en.wikipedia.org/wiki/CUSIP 它们发明于1964年,考虑到60年代数据传输的可靠性,第9位实际
是否可以使用 regex 语句创建 mod 11 校验位例程? 号码是 10 位数字, 第 1 步:A = (2号*2)+(3号*4)+(4号*8)+(5号*5)+(6号*10)+(7号*9)+(8号
我已经使用下面链接中的代码尝试验证信用卡,但是当我在该字段中提交错误数据时,我没有收到警报。 Strip spaces before performing Luhn check 我的表格如下: Se
如何计算GS1 check digit用于 SQL Server 中的 GTIN 和 SSCC 代码。 最佳答案 此用户定义函数将为 GS1 网站上提到的所有 GTIN 和 SSCC 格式计算校验位。
我是一名优秀的程序员,十分优秀!