在我的ASP.NET Web应用程序中,我需要在数据库中保存密码。 (请注意,这不是登录密码,并且提供此类密码的用户会收到可见的安全警告。)我想在将密码放入数据库之前提供一些加密密码。
所以我想这样做:
byte[] bytesToSave_Scrambled =
System.Security.Cryptography.ProtectedData.Protect(
System.Text.Encoding.UTF8.GetBytes(password), null,
System.Security.Cryptography.DataProtectionScope.CurrentUser);
问题是根据this page,当我使用DataProtectionScope.CurrentUser
时,只有相同的用户帐户才能将其解码回来。我当然可以使用DataProtectionScope.LocalMachine
,但文档说它不太安全。
所以我的问题是,当我的网络应用程序在网络服务器上运行时,它是否在同一个Windows用户帐户下运行,以确保上述加扰方法的一致性?