我正在创建一个Web应用程序,用于分配用户访问数据库的权限。我们收到票证以授予某个用户访问权限,帮助台人员在应用程序上选择SQL实例,输入用户名和密码以分配访问权限。我的问题是连接字符串都存储在SQL数据库中,实例密码使用哈希字节函数进行加密。
由于密码已经被加密,我该如何通过我的C# Asp.net代码连接数据库。帮助台人员只会选择实例,而不会输入登录凭据。
我正在创建一个Web应用程序,用于分配用户访问数据库的权限。我们收到票证以授予某个用户访问权限,帮助台人员在应用程序上选择SQL实例,输入用户名和密码以分配访问权限。我的问题是连接字符串都存储在SQL数据库中,实例密码使用哈希字节函数进行加密。
由于密码已经被加密,我该如何通过我的C# Asp.net代码连接数据库。帮助台人员只会选择实例,而不会输入登录凭据。
在编程中,需要进行单向操作以确保无法解密。密码验证通常使用哈希算法完成。也就是说,你在数据库中有哈希过的密码,当用户输入密码时,你的应用程序首先将输入密码进行哈希,然后再比较哈希后的密码。
但是,哈希不是加密算法,它是一种安全的单向压缩算法。
因此,你不能将哈希过的数据库密码用于任何目的。用户需要提供密码。
你可以使用UserSecrets
来存储加密密码。请查看this文章以获取实现方式。