是的......只是想一想......
我应该将以我的网站输入的信用卡号码存储为字符串或整数吗?
我的意思是,它们由数字组成,这让我认为它是一个整数...但我不对它们做数学,所以也许一个字符串更合适?
编辑:所以我必须在加密之前存储在某个时刻输入的数字.我可能应该更具体一点 - 这不像是我用明文或任何东西将它们保存在数据库中 - 很高兴看到每个人都是如此尽职尽责:)
Chr*_*ain 33
都不是.您应该至少将它们保存为使用AES或等效使用行业认可的密钥存储加密的字节数组.
Windows通过Data Protection API提供了大量此功能:http://msdn.microsoft.com/en-us/library/ms995355.aspx
为了您自己和客户的利益,请了解加密财务凭证的适当标准或聘请知道这些凭据的人员.
鉴于您的编辑:
C#有一个你应该使用的SecureString类.我不相信有一个Java等价物,但我可能是错的.
编辑:为了后人的缘故......
PCI DSS(数据安全标准)定义了信用卡详细信息的存储,传输和处理指南.任何考虑如何构建管理信用卡数据管理解决方案的人都应该在这里阅读,并咨询行业专家:https://www.pcisecuritystandards.org/
信用卡号码将是一个字符串,我不是积极的,但我觉得有些卡可以从0开始,你不会想要失去任何这些前导零.此外,你应该加密.如果不是,恶意用户可能能够通过cookie,数据包嗅探器和其他东西来阻止卡号.
注意
基于这些事实,我认为String更合适.(但首先要加密)
你根本不应该存储信用卡号码.如果您正在与支付提供商集成,请将信息直接传递给他们,如果您需要稍后收费,他们应该能够提供某种类型的代币.除非您的服务器符合规定,否则您可能违反规则.
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |