繁体   English   中英

如何在数据库中存储哈希密码

[英]How to store hashed password in database

我想在sql express数据库中存储散列密码。 但我无法做那个。 这是我的代码:

SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();

byte[] encode = sha.ComputeHash(Encoding.ASCII.GetBytes(pass));

string cmd = "insert into tblLogin (username,password,email,state,active) values ('"+name+"',"+encode+",'"+email+"','"+state +"',"+ active + ")" ;

在数据库中,我将密码保存为varbinary。

这里我的问题是我得到编码的值为System.Byte []但不是散列值。 我怎么能这样做,我试图找到,我得到如何哈希密码,但不知道如何存储密码。

这里我的主要问题是如何构造插入查询并将Byte []存储到数据库中?

将其保存为varchar,而不是varbinary。

var provider = new SHA1CryptoServiceProvider(salt);
byte[] bytes = Encoding.UTF8.GetBytes(input);
string result = Convert.ToBase64String(provider.ComputeHash(bytes)); // store it

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM