【发布时间】: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