C# 如何在VisualStudio2010C中加密数据库列#

C# 如何在VisualStudio2010C中加密数据库列#,c#,mysql,asp.net,oracle,visual-studio-2010,C#,Mysql,Asp.net,Oracle,Visual Studio 2010,大家好,我有一个oracle数据库连接到我的网站,我在VisualStudio2010中使用c#语言创建了这个网站。我有一个表,其中保存了用户密码 当我在表中输入密码时,可以看到它(我不希望看到)。我希望它是加密的,以确保密码不能被视为一旦进入数据库。任何帮助都将不胜感激。 我的用户表如下所示: Create TABLE users ( user_id number(5) NOT NULL , user_username VARCHAR(30), user_password VA

大家好,我有一个oracle数据库连接到我的网站,我在VisualStudio2010中使用c#语言创建了这个网站。我有一个表,其中保存了用户密码

当我在表中输入密码时,可以看到它(我不希望看到)。我希望它是加密的,以确保密码不能被视为一旦进入数据库。任何帮助都将不胜感激。 我的用户表如下所示:

Create TABLE users (
  user_id number(5) NOT NULL , 
  user_username VARCHAR(30), 
  user_password VARCHAR(20), 
  user_email VARCHAR(75), 
  user_street VARCHAR(50), 
  user_city VARCHAR(50), 
  user_state VARCHAR(2), 
  user_postcode VARCHAR(20), 
  user_phone VARCHAR(50),  
  PRIMARY KEY (user_id) 
) ;

谢谢

您可以使用哈希技术

公共安全 { 公共静态字符串HashSHA1(字符串值) { var sha1=System.Security.Cryptography.sha1.Create(); var inputBytes=Encoding.ASCII.GetBytes(值); var hash=sha1.ComputeHash(inputBytes)

var sb=new StringBuilder();
for(var i=0;i
}

在visual studio中, cmd.Parameters.AddWithValue(“@password”,password)

cmd.Parameters.AddWithValue(“@password”,Security.HashSHA1(password))

//将存储为

用户ID |用户名|密码 1 |冲积沉积|我的秘密密码


2 |冲积沉积| F032680299B077AFB95093DE40822F62502B8251

存储密码的最佳和常用方法是存储密码的散列 如下图所示:-

HASHBYTES('SHA1', convert(VARCHAR(20), @user_password)
通过添加
hash
可以检查密码是否匹配

注意:-这里您可能也不知道数据库列中存储的实际密码是什么。因此,即使黑客入侵了你的整个数据库,他仍然无法知道密码

此外,您还可以在web上搜索与安全相关的更安全和加密的内容

以下是更多的链接:-


希望这对您正在寻找的内容有很大帮助。

加密在进入数据库之前完成。感谢您的回复。我是否将此代码放入sql数据库或visual studio的某个位置?在保存数据时,必须在单击按钮时在visual studio中添加上述代码。您还需要在sql表中创建一列,在其中保存加密的密码。
HASHBYTES('SHA1', convert(VARCHAR(20), @user_password)