有人询问我是否可以将他们的客户信用卡号码用作会员号码。
因此,在查看存储信用卡号码的PCI要求时,它表示需要信用卡号码的单向哈希值。 第38页 - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3.pdf
然而,它并不能说什么哈希值可以接受?
所以我真正需要做的就是将一个卡号转换成一个会员号码,这个号码将是一个哈希的信用卡号码。
当我使用专有脚本语言时,实现最简单的哈希是什么。
答案 0 :(得分:3)
PCI文档执行指定使用强加密技术'并指向glossary of terms以获取更多信息。
词汇表说明
"使用经过行业测试和接受的算法[...] SHA-1是一个 经过行业测试和接受的散列算法的示例。 "
但问题是,您需要访问原始卡号才能生成这些哈希值。如果您可以访问原始卡数据,那么PCI合规性的全部重要性就会降低。您不能只是哈希这些数字并希望获得最佳数据,您需要在PCI的各个方面都要遵守,包括保护您的网络符合PCI标准,维护员工的信息安全政策等等。
最佳做法是避免让卡数据通过您的网络或系统。让第三方提供商管理它并返回令牌ID。然后,您可以安全地将令牌ID映射到持卡人。
答案 1 :(得分:0)
简单替代方法:使用持久变量,每当需要新的会员编号时,该变量会递增。
你也可以使用随机数,但是你必须确保它没有被使用过。
信用卡号码并非完全随机,这意味着基于字典的暴力攻击比完全随机攻击更容易。正如评论中所提到的,它们会发生变化,并可能导致您在财务规定方面出现法律问题。
答案 2 :(得分:0)
据我所知,审计员允许令牌("哈希")保留最后4位,甚至前6位和后4位数。然后,只要真实数字触及您的设备,您就处于PCI范围内。