Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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# ProtectedData.ASP.NET web app中CurrentUser的Protect方法_C#_Asp.net_Iis_Cryptography - Fatal编程技术网

C# ProtectedData.ASP.NET web app中CurrentUser的Protect方法

C# ProtectedData.ASP.NET web app中CurrentUser的Protect方法,c#,asp.net,iis,cryptography,C#,Asp.net,Iis,Cryptography,在我的ASP.NET web应用程序中,我需要在数据库中保存密码。(请注意,这不是登录密码,提供此密码的用户会收到一个可见的安全警告。)我正在考虑在将密码放入数据库之前对其进行一些置乱 所以我想这样做: byte[] bytesToSave_Scrambled = System.Security.Cryptography.ProtectedData.Protect( System.Text.Encoding.UTF8.GetBytes(password), null, Syst

在我的ASP.NET web应用程序中,我需要在数据库中保存密码。(请注意,这不是登录密码,提供此密码的用户会收到一个可见的安全警告。)我正在考虑在将密码放入数据库之前对其进行一些置乱

所以我想这样做:

byte[] bytesToSave_Scrambled = 
System.Security.Cryptography.ProtectedData.Protect(
    System.Text.Encoding.UTF8.GetBytes(password), null,
    System.Security.Cryptography.DataProtectionScope.CurrentUser);
问题是,根据,当我使用
DataProtectionScope.CurrentUser
时,只有同一个用户帐户才能将其解码回来。我当然可以使用
DataProtectionScope.LocalMachine
,但文档中说它不太安全


因此,我的问题是,当我的web应用在web服务器上运行时,它是否在同一个Windows用户帐户下运行,以确保上述置乱方法的一致性?

这取决于几个方面,例如:web服务器是AD域的一部分吗?关于身份验证,web服务器是如何配置的?等等@Yahia:嗯,我不知道这是怎么回事。所以我想
DataProtectionScope.LocalMachine
是一个不错的选择,哈?如果你事先不知道,那么:是的,要么使用
LocalMachine
,要么使用一个可配置的密钥(如果他们需要将应用程序移动到另一台机器上),再加上一个已知的安全算法…@Yahia:谢谢你的建议。