1
9
从 PCI-DSS 从这个角度来看,不需要保护仅存储在内存中的卡号。 PCI只规定卡号必须保存到磁盘,或通过网络传输必须加密。这是解决这个问题的常识。使用SecureString将确保字符串永远不会缓存到磁盘,但正如您所说的,使用起来很麻烦。不过,这篇文章有一些很好的建议: https://stackoverflow.com/questions/122784/hidden-net-base-class-library-classes#123141
|
2
2
此前接受的2010年的答案当时可能是正确的,但请注意 PCI DSS 3.0
归根结底是要坚持行业最佳实践。 考虑到近年来备受关注的漏洞,恶意软件、攻击者等通过抓取内存捕获敏感数据(包括信用卡信息),人们将更多的注意力放在保持敏感信息的安全上,即使是在内存中。 尽可能使用SecureString。
如果纯粹在winform应用程序中捕获信用卡号,那么在内存中保持卡号的安全是完全可行的。 不过,用ASP.NET web应用程序,我不确定。。。我没试过,但是 general consensus 所以看起来不值得。另外, MSDN 特别提到ASP.NET应用程序,说:
|
3
1
我使用SecureString处理其他东西(不是信用卡),如果它要在内存中缓存很长时间的话。 我经常遇到的问题是,您仍然必须将其封送到普通字符串中,以便实际将其用于任何用途,因此它的实用性非常有限。 我已经创建了一些扩展方法来简化它们的使用:
|
John Rix · 确定Braintree的信用卡/借记卡原产国? 9 年前 |
user3323654 · Luhn公式在Java中的实现 9 年前 |
sarkon · Luhn算法的重构Ruby代码 9 年前 |
user3088441 · 自定义海外支付网关 10 年前 |
deek · 我的PHP信用卡表单无法识别某些输入和错误 11 年前 |