擅长:python、mysql、java
<p>在进一步讨论之前,您应该先看一下<a href="https://www.pcisecuritystandards.org/" rel="nofollow noreferrer">PCI-DSS</a>,它精确地控制了您甚至考虑存储加密卡号所需的进程。简而言之,你应该认真考虑外包给第三方支付网关。在</p>
<p>如果你已经了解了后果,你确实想继续下去,那么再次-遵循PCI指南。对于卡号的对称加密,您可能需要使用<a href="https://stackoverflow.com/questions/172486/what-pure-python-library-to-use-for-aes-256-encryption">AES</a>,并制定非常严格的<a href="https://stackoverflow.com/questions/1583553/how-to-properly-do-private-key-management/1584586#1584586">key management policies</a>。在</p>
<p>但是,如果您只想存储部分卡号,那么PCI声明您只能存储(绝对最大)前六位和后四位数字。前六位数字就是识别卡类型所需的全部内容。您可能认为有助于防止客户卡号几乎相同的问题所必需的最后四位数字。在</p>
<p>IMHO存储部分卡号(以纯文本形式)是您要做的,然后将加密、授权和结算的处理外包给<a href="https://stackoverflow.com/questions/2022067/looking-for-a-payment-gateway">3rd party gateway</a>。支付网关将为您传递给他们的每一张卡提供一个唯一的令牌id,以便您可以引用唯一的卡来执行重新授权或退款等操作</p>