为有效信用卡生成随机数的好方法是什么?

car*_*ing 8 java credit-card

我正在开发一套Java工具,用于验证和使用信用卡.到目前为止,我支持:

  • LUHN验证.

  • 日期验证(简单到期).

  • 基于品牌(Visa,MasterCard等)的卡代码长度验证(CVV,CVC,CID).

  • 信用卡号码长度验证(基于品牌).

  • BIN/IIN验证(针对有效数字的数据库).

  • 隐藏数字(425010******1234)

为了使工具集更加完整,我想基于不同的卡品牌创建一个信用卡随机数生成器.此功能(希望)可以使我的测试用例更可靠.

基本上,我希望能够生成以下数字:

  • LUHN有效

  • 根据品牌前缀有效

  • 基于BIN/IIN前缀号有效

对于BIN/IIN有效卡号,我正在考虑从数据库中查找随机BIN/IIN号码(基于当然的品牌),然后使用添加剩余数字Random.显然,这在大多数时候都不会有效,我将不得不增加其中一个数字,直到它通过LUHN验证.

我似乎无法想到一个更好的方法.也许有人可以建议一些更聪明的东西......?

期待您的建议!提前致谢!:)

Ste*_*n C 2

这个功能(希望)将使我的测试用例更加可靠。

我不相信。根据我的经验,在单元测试中使用随机数据不是一个好主意,因为你永远不知道你是否已经涵盖了所有重要的情况......和错误。

我建议您手动创建测试信用卡号,并注意它们涵盖了所有需要测试的情况。