信用卡校验位验证

数据挖掘 分类 多类分类
2022-03-13 06:30:26

除了 Luhn 算法,我们是否可以使用机器算法来检查信用卡号的最后一位是否有效?我看到这是一个多类分类问题,但找不到合适的算法来解决它。

我基本上正在寻找一种方法来查找任何序列的校验位,其中校验位生成算法未知 - 信用卡只是一个例子。

发号机构不公开校验位算法的情况很多。例如,印度的 GSTIN - cleartax.in/s/know-your-gstin 或印度的 PAN - en.wikipedia.org/wiki/Permanent_account_number 如果我们可以尝试不同的 ML 算法来处理有效的此类序列集,我们或许能够为此类情况创建验证模型

1个回答

在不知道使用什么算法生成校验位的情况下,无法说机器学习是否能有效地对数据进行逆向工程。

作为一个简单的例子,如果有足够的数据,循环神经网络很可能可以学习 Luhn 算法。这可能是一种特别低效和次优的方法,并且您可能需要大量的训练数据,但我希望它可能会起作用。

作为一个困难的例子,如果校验位是使用加密安全哈希函数和密钥生成的,那么没有机器学习算法会对其进行逆向工程。

因此,根本不可能抽象地说。答案取决于正在使用的校验位算法。

一般来说,机器学习不是灵丹妙药。可以用来解决所有问题的,不是魔法仙尘。我的感觉是机器学习可能不会特别适合这种情况。从尝试一些常见的校验位算法开始可能会更有效(例如,使用线性代数来检查它是否是线性校验和,等等)。