我需要在网络项目中保存银行账户数据。 该项目是asp.net mvc 3,数据库是MSSQL 2008 R2。
但我该如何做到这一点呢?
我的解决方案是:
解决方案:使用TripleDESCryptoServiceProvider加密数据并将其保存到数据库。
解决方案:只保存帐号数据的最后3个号码(如亚马逊显示的那样),以便用户识别他已将哪些帐号数据保存到系统中。 加密整个帐户数据并将其保存到Web项目无权使用的其他数据库(可能带有存储过程)。
我们只需要帐户数据,收取月费。所以我们在Web项目中不需要它们。但是,用户必须识别他所提供的帐户数据才能支付费用。
最佳解决方案是什么?
编辑:
谢谢大家的回复。 我认为我们将真正使用服务提供商,它将存储帐户数据并执行所有其他工作,如应收帐款管理。
答案 0 :(得分:3)
实际上,从我的评论中引出 - 您最好的选择可能是与您的支付网关交谈。他们中的很多人都使用令牌系统,以便人们无需存储卡详细信息即可收取定期付款。用户输入一次详细信息,将其存储在支付网关,您将获得一个令牌,然后您可以重新使用该令牌执行重复付款。
鉴于这种情况,您可以只存储卡号的最后4位数:这应该足以让用户在需要时再次识别他们的卡。
他们可能也是提供有关安全和存储方法的信息的第一站。
答案 1 :(得分:0)
我想这可以归结为谁在保存后需要访问您的银行号码。
如果它们由您的网络应用程序保存,然后由另一个私人应用程序读取,我的建议是使用公钥加密网站中的结果,并且只在您的其他应用程序中提供私有解密密钥。这意味着即使您的数据库受到威胁,他们也需要您的私钥才能访问数据。把它存放在其他地方。
正如其他人所说,最好的解决方案是尽可能避免存储数据