加密和解密字符串当前最佳实践

时间:2018-11-09 20:02:38

标签: c#

关于加密和解密字符串,这里有很多讨论,但是它们都已经存在了很长时间,并且在过去几年中发生了很多变化。

对于用户密码,我使用散列法,因此无法解密密码。

但是,我在后端连接了一些服务,需要对数据库中的密码进行加密,以便可以将其解密以便以后运行。

过去,我使用过DPAPI。这仍然是在数据库中存储此信息的“最佳”方法吗?

1 个答案:

答案 0 :(得分:4)

最好的方法是“不要这样做”。如果您保留凭据,则最终有人会窃取它们。

大多数后端都有某种方式授予您可以使用的某种授权令牌,因此您无需继续发送登录名/密码。

有许多“较新的”方式来存储凭据,例如密码库,安全存储以及各种类型的基于硬件的安全存储,但是如果您的程序可以将它们提取为纯文本,那么攻击者也可以。

签入Kerberos身份验证它使用票证和加密的相互身份验证,使设备彼此信任,而无需交换或存储纯文本凭据。

如果您使用的是Windows,请查看通常使用Kerberos的“集成身份验证”。