在SQL Server中存储MD5哈希

在SQL Server中存储MD5哈希

Storing MD5 Hash in SQL Server

在SQL Server中,varbinary(16)是存储MD5哈希的最有效方法吗? 除了在linq查询中返回之外,不会对其进行任何处理。


根据有关MSDN的文档和我的经验,二进制文件更好,因为md5哈希的大小没有变化。

二进制数据类型的大小为n个字节,因此数据的大小。 varbinary数据类型的大小是n字节+ 2字节,比数据大。


空值会改变事情:

空varbinary(16)是2个字节。
空二进制(16)是16个字节。
存储在varbinary(16)中的16个字节占用18个字节。
binary(16)中的16个字节占用16个字节。

https://stackoverflow.com/a/3731195


推荐阅读