确定重复信用卡号码而不存储它们的最佳方法是什么?

The*_*edi 6 passwords md5 cryptography credit-card

我运行一个网站,我们将某些帐户标记为诈骗者,并"标记"他们的帐户和所有用作坏帐户的信用卡.我们不存储实际的信用卡值,而是存储校验和/ MD5算法.

我们现在一直在碰撞.存储这些值的最佳方法是什么 - 不可逆,但能够对未来值进行比较.

我认为MD5会是最好的,但我们在这里进行辩论......

Joh*_*zen 16

加密安全散列可以工作.(SHA512或SHA256可以)

但是,我会使用一个相当秘密的,不与卡一起存储(以防止任何类型的彩虹表攻击).

PS:
彩虹表针对信用卡的攻击可能特别有效,因为由于字符集有限,固定大小和校验位数,纯文本空间的总大小非常小.

PPS:
您不能为每个条目使用随机盐,因为您永远无法检查重复项.盐用于防止碰撞,而我们在这种情况下专门寻找碰撞.

  • 我们不是试图存储和重新检查,我们正在尝试进行重复匹配.此时,为了检查重复,您必须使用数据库中的每个盐来散列CCard编号. (5认同)