【问题标题】:Is a combination of credit card's number and expiration date unique? [closed]信用卡号码和到期日期的组合是否唯一? [关闭]
【发布时间】:2014-06-20 23:05:12
【问题描述】:

我正在构建一个小型数据库驱动应用程序来存储大量我自己的信用卡、借记卡等。

假设我拥有的卡片数量比实际多得多。

我有点担心的是,一张卡可以在多大程度上被唯一识别 - 从我收集到的数字本身可以被发卡机构重复使用。

我建议的 ID 包含完整的卡号、年份和月份(3 个单独的列) - 够了吗 - 信用卡号和到期日期是否唯一?年份存储为 YY 还是 YYYY 更好?

没有必要遵守任何规则(例如 PCI DSS),因为该应用程序仅在一个单独的无互联网本地主机上运行,​​只有我的数据应该存储在那里并且不会发生任何交易。

【问题讨论】:

  • 我将使用 YYYYMM 格式(不是 YY)加上信用卡号。此密钥将是唯一的。
  • 显然,到期日期 MM/YY 本身并不是唯一的。当考虑到卡号时,组合应该是唯一的。关于存储到期年份格式:我会选择 YY 并为自己节省一些转换,我从未见过有 YYYY 格式的卡片。
  • @AD7six 卡号被重复使用(此处更适合循环使用)的情况之一是在其他卡到期之后。数据库中的数据可能已有 50 多年的历史(过期卡),因此重复的可能性更大)。
  • 只使用YY 是导致 1999 年之后事情破裂的原因,因为人们想节省一整年所需的两个字符的空间。使用全年,而不仅仅是最后两年。
  • @AD7six 所以我们可以假设发行人永远不会制作两张具有相同编号和到期日期的卡,对吧?意思是,即使对于像我这样偏执的人来说,整个卡号加上年份和月份就足以确保唯一性?我知道几率,特别是考虑到范围(只是我的卡片),但这就是我编程的方式。

标签: php mysql credit-card


【解决方案1】:

仅卡号就足以唯一地标识信用卡账户——它标识了卡所绑定的发卡机构和账户,因此它必须是唯一的。卡上的到期日期更新是可能的(这也将给它一个新的 CVV2,不管它的价值是多少),但是当这种情况发生时它仍然被认为是同一张卡。事实上,一些信用卡处理器将允许商家通过在旧日期过去后发回新的到期日期来自动“更新”其系统中已过期的卡。

但是,如果您的目标只是追踪钱包中的塑料碎片,那么通过卡号和有效期来追踪它们就足够了。正如我已经提到的,卡号已经是唯一的,并且其上的其他信息仅随着到期日期而更新。

【讨论】:

  • 一些引用会很好,你所说的只是部分正确,无论你是否意识到这是另一回事。
  • @user3137630:如果您认为我的回答有误,请告诉我是什么。不要只是暗示你知道我不知道的事情。
猜你喜欢
  • 1970-01-01
  • 2011-08-08
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2023-04-02
  • 2013-06-13
相关资源
最近更新 更多