c# - 如何在 C# ASP.Net 中使用加密密码作为参数

标签 c# sql asp.net-core

我正在创建一个 Web 应用程序来分配用户对数据库的访问权限。我们获得一张票以授予用户访问权限,帮助台人员选择 sql 实例,在应用程序上输入用户名和密码以分配访问权限。我的问题是连接字符串都存储在 sql 数据库中,实例密码使用 hashbyte 函数加密。

由于密码已加密,我将如何通过我的 C# asp.net 代码连接到数据库。服务台人员将只选择实例而不输入登录凭据

最佳答案

这种操作需要是单向的,这样才不会被解密。密码验证通常通过散列来完成。换句话说,您在数据库中对密码进行了哈希处理,当用户输入密码时,您的应用程序首先对输入密码进行哈希处理,然后比较哈希后的密码。

但是,散列不是加密算法,它是一种安全的单向压缩算法

因此,您不能出于任何目的使用散列数据库密码。用户需要提供密码。

您可以使用UserSecrets 来存储加密密码。检查this发布实现

关于c# - 如何在 C# ASP.Net 中使用加密密码作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847706/

相关文章:

c# - aspnet-sessionId 不适用于 Asp.Net Core

c# - 我想使用 Entity Framework 将数据从 CSV 文件导入到 SQL 数据库

mysql - SQL:将 1 个表中的 2 行合并为 1 行导致子查询的多行

javascript - 使用 Node pg 选择当前值后如何增加 postgres 表列?

c# - ASP.NET Core 2.1 中的策略和声明

c# - asp.net 核心构造函数注入(inject)继承

asp.net-core - Net Core 2.1.1发布导致应用无法运行

c# - 反编译c#动态操作时看到的语法到底是什么意思?

c# - 必须声明标量变量 "@.."gridview

sql - 联接如何在 Cloud Spanner 数据库中工作?