md5加密

 

我提供的解决方案可以解决数据已经加密,但是采用的是非单向向加密,客户提出新的需求,要求改为单向加密。

如下代码是完整的解决方案 ,照搬即可:

sql代码(>=sq2005)
use IASTest
if OBJECT_ID('dbo.Tsec_PersonSecurityBak','u') is null
select PersonId,Pwd into dbo.Tsec_PersonSecurityBak
from dbo.Tsec_PersonSecurity;
update dbo.Tsec_PersonSecurity
  set Pwd=upper(sys.fn_varbintohexsubstring(0, hashbytes('MD5',Pwd),1,0));
  go

------------------------------------------------------------
C#代码
public static string MD5Encrypt(string sourceString)
{
   MD5 md5 = MD5.Create();
            // This must apply Unicode16's GetBytes method (as in T-SQL the "N'**'" is an Unicode16 encoding string):
            byte[] bytes = UnicodeEncoding.Unicode.GetBytes(sourceString);
            byte[] hashBytes = md5.ComputeHash(bytes);
            string result="";
            foreach (byte hashByte in hashBytes)
            {
               result+=hashByte.ToString("X2");
            }
}

你可能感兴趣的:(sql,C++,c,C#,Go)