Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加密和解密字符串当前最佳做法_C# - Fatal编程技术网

C# 加密和解密字符串当前最佳做法

C# 加密和解密字符串当前最佳做法,c#,C#,这里有很多关于加密和解密字符串的讨论,但是它们都已经有好几年的历史了,在过去的几年里发生了很多变化 对于用户密码,我使用哈希,因此密码无法解密 但是,我在后端连接了一些服务,需要在数据库中加密密码,以便以后可以解密运行 过去我使用过DPAPI。这仍然是在数据库中存储此信息的最佳方法吗?最好的方法是不要这样做。如果你保留凭证,最终会有人偷走 大多数后端都有某种方式来授予您可以使用的某种授权令牌,因此您不需要一直发送登录名/密码 有新的存储凭据的方法,如密码保险库、安全存储和各种类型的基于硬件的安全

这里有很多关于加密和解密字符串的讨论,但是它们都已经有好几年的历史了,在过去的几年里发生了很多变化

对于用户密码,我使用哈希,因此密码无法解密

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


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

最好的方法是不要这样做。如果你保留凭证,最终会有人偷走

大多数后端都有某种方式来授予您可以使用的某种授权令牌,因此您不需要一直发送登录名/密码

有新的存储凭据的方法,如密码保险库、安全存储和各种类型的基于硬件的安全存储,但如果您的程序可以将它们提取为明文,攻击者也可以

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


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

最好的方法是不要这样做。如果你保留凭证,最终会有人偷走

大多数后端都有某种方式来授予您可以使用的某种授权令牌,因此您不需要一直发送登录名/密码

有新的存储凭据的方法,如密码保险库、安全存储和各种类型的基于硬件的安全存储,但如果您的程序可以将它们提取为明文,攻击者也可以

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


如果您使用的是Windows,请研究通常使用Kerberos的集成身份验证。

信封加密可能是您的场景的最新标准。信封加密可能是您的场景的最新标准。我同意您的看法,不幸的是,这些不同的系统具有自定义访问权限。真的,没有什么好处。MS有一个SecureString,在内存中总比没有好,但即使他们也不推荐它。对方支持哪种身份验证?用户名/密码…:很抱歉我什么都没有。储存UID/PW就像储存有毒废物。它只是想出去,我同意。。但我的任务是链接到这些系统。我同意你的看法,不幸的是,这些系统是不同的,可以自定义访问它们。真的,没有什么好的。MS有一个SecureString,在内存中总比没有好,但即使他们也不推荐它。对方支持哪种身份验证?用户名/密码…:很抱歉我什么都没有。储存UID/PW就像储存有毒废物。它只是想出去,我同意。。但我的任务是链接到这些系统。