我正在开发一个应用程序,用户必须拨打电话并使用手机键盘输入验证码。
我希望能够检测他们输入的数字是否正确。电话系统无法访问有效号码列表,但它会根据算法(如信用卡号码)验证号码。
以下是一些要求:
- 输入有效的随机码一定很困难
- 如果我打错字(数字换位,错误数字),一定很难有一个有效的代码
- 我必须有合理数量的可能组合(比如说 1M)
- 代码必须尽可能短,以避免用户出错
鉴于这些要求,您将如何生成这样的数字?
编辑 :
@Haaked:代码必须是数字,因为用户是用手机输入的。
@matt b:第一步,代码显示在网页上,第二步是调用并输入代码。我不知道用户的电话号码。
跟进:我发现了几种算法来检查数字的有效性(请参阅这个有趣的 Google 代码项目:checkDigits)。