MySql数据库、哈希函数和C#应用程序必须为给定的值生成与它相同的散列,但前提是必须将其保持为字符串。我希望将它们转换为BIGINT,这样就可以避免字符串比较的开销。我知道Sha256是加密哈希函数,但至少MySql和C#为给定输入生成相同的哈希字符串,我不介意将其用于非加密用途。void Main(string[] args) using (var sha256 = SHA256.Create()) var hashBytessha256.ComputeHash(E
我通常不使用MSSQL,我想知道如何匹配存储为字符串的字段值的md5值。SELECT * FROM table WHERE md5(field) = $md5value 现在我循环所有的post并检查循环中的匹配值,但这样做会很慢。我不可能在表中添加额外的字段并存储md5值,因此我必须以这种方式进行检查。
我需要执行这个Sql命令(它在management studio中运行良好):var user = db.ExecuteQuery<User>("select * from Users where Login = {0} and PasswordHash = HashBytes这是DataContext的日志:
select * from Users whe