python:双向部分信用卡存储加密

2024-09-27 00:21:18 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我的ecommece网站,我想将部分信用卡号存储为字符串,为此,我需要加密存储在数据库中的信息,当用户希望重用以前购买的信用卡信息而无需再次键入时解密。在

我使用的是Django,因此需要通过Python解决这个问题。解决这个问题的聪明算法是什么?在


Tags: django字符串用户算法信息数据库键入网站
2条回答

你确定你想散列像这样的敏感信息吗?可能值得阅读this article来了解试图在数据库中存储任何敏感信息的一些陷阱。在你的情况下,情况会更糟,因为你希望这种转变是可逆的。记住,如果你能逆转它,攻击者也能。在

在你开始这门课程之前要仔细考虑。。。在

也许你最好把这类工作外包给专门从事这方面工作的人(例如Paypal或{a3}等)。在

在进一步讨论之前,您应该先看一下PCI-DSS,它精确地控制了您甚至考虑存储加密卡号所需的进程。简而言之,你应该认真考虑外包给第三方支付网关。在

如果你已经了解了后果,你确实想继续下去,那么再次-遵循PCI指南。对于卡号的对称加密,您可能需要使用AES,并制定非常严格的key management policies。在

但是,如果您只想存储部分卡号,那么PCI声明您只能存储(绝对最大)前六位和后四位数字。前六位数字就是识别卡类型所需的全部内容。您可能认为有助于防止客户卡号几乎相同的问题所必需的最后四位数字。在

IMHO存储部分卡号(以纯文本形式)是您要做的,然后将加密、授权和结算的处理外包给3rd party gateway。支付网关将为您传递给他们的每一张卡提供一个唯一的令牌id,以便您可以引用唯一的卡来执行重新授权或退款等操作

相关问题 更多 >

    热门问题