我正在用 Java 开发一组用于验证和使用信用卡的工具。到目前为止,我支持:
LUHN 验证。
日期验证(简单到期)。
基于品牌(Visa、MasterCard 等)的卡代码长度验证(CVV、CVC、CID)。
信用卡号长度验证(基于品牌)。
BIN/IIN 验证(针对有效数字的数据库)。
隐藏数字 (425010 * * * * * * 1234)
为了使工具集更完整,我想创建一个基于不同卡品牌的信用卡随机数生成器。此功能将(希望)使我的测试用例更加可靠。
基本上,我希望能够生成以下数字:
LUHN 有效
基于品牌前缀有效
基于 BIN/IIN 前缀号码有效
对于 BIN/IIN 有效卡号,我正在考虑从数据库中查找一个随机 BIN/IIN 号码(当然基于品牌),然后使用Random
. 显然,这在大多数情况下都是无效的,我将不得不增加一个数字,直到它通过 LUHN 验证。
我似乎想不出更好的办法。也许有人可以建议一些更聪明的东西......?
期待您的建议!提前致谢!:)