SQL 익스프레스 데이터베이스에 해시 된 암호를 저장하려고합니다. 하지만 나는 그걸 할 수 없다. 다음은 내 코드입니다 :데이터베이스에 해시 된 암호를 저장하는 방법
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로 암호를 유지했다.
여기 내 문제는 Encode 값을 System.Byte []로 가져 왔지만 해시 값이 아닙니다. 어떻게 할 수 있습니까? 찾으려고 시도했지만 비밀번호를 저장하는 방법이 아니라 비밀번호를 해시하는 방법을 익히고 있습니다.
내 주요 문제는 어떻게 쿼리를 삽입하고 Byte []를 데이터베이스에 저장할 수 있습니까?
이 NVARCHAR – Pranav
에 대해이 읽기 방법, 당신이 값을 캐스팅해야합니다 ... http://stackoverflow.com/questions/9067470/sql-query-to-store-text-data-in-a-varbinarymax – Mate
암호는 실제로 소금으로 만들어야합니다. 사실 암호를 자동으로 소금물처럼 만들고 암호 적으로 강하게 만드는'System.Web.Helpers.Crypto.HashPassword (암호)'를 사용하지 않는 이유는 무엇입니까? –