在SQL Server中存储MD5哈希

时间:2008-09-08 03:54:15

标签: sql-server md5

在SQL Server中,varbinary(16)是否是存储 MD5哈希的最有效方式?除非在 linq 查询中返回它,否则不会对它做任何事情。

2 个答案:

答案 0 :(得分:16)

基于documentation on MSDN和我的经验,二进制文件更好,因为md5哈希的大小不变。

二进制数据类型的大小是n个字节,因此是数据的大小。 varbinary数据类型的大小是n个字节+ 2个字节,位于数据大小之上。

答案 1 :(得分:0)

空值改变了事情:

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

https://stackoverflow.com/a/3731195