在Sql Server 2005中应该使用什么数据类型来存储密码hashed by SHA-256 algorithm?Sql Server 2005:什么数据类型用于存储密码SHA-256算法散列?
的数据是hashed by the application并传递到数据库
在Sql Server 2005中应该使用什么数据类型来存储密码hashed by SHA-256 algorithm?Sql Server 2005:什么数据类型用于存储密码SHA-256算法散列?
的数据是hashed by the application并传递到数据库
应该产生一个32字节的值(256位),所以二进制(32)应该工作。
varbinary(32)或binary(32)。
SHA256Managed类的“Hash”属性是一个字节数组,而HashSize是256位,所以我认为二进制文件(32)是最简单的。
您可能也可以使用ToBase64Transform将它放到varchar字段中。我对Base64算法并不完全熟悉,但看起来您可能需要至少43个字符来表示64位的256位数。IIRC Base64使用了一对填充字符,所以我可能会将它放在varchar(50)只是为了安全起见。
我在char(44)字段中存储为base64。不像六角弦那样浪费,并且具有Peter提到的优点。 – AlexDev 2013-12-11 11:58:24
SHA-256具有256位输出
256位= 32个字节
所以尽量VARBINARY(32)
我喜欢的哈希码转换为十六进制字符串在这种情况下,如果您喜欢“0x
”前缀,则varchar(64)将执行该操作,或使用varchar(66)。通过这种方式,您可以比较容易地手动比较或(重新)设置您必须从其他位置复制/粘贴的值。例如,您丢失了管理员密码并希望通过SQL将其重置...
哈!,通过google找到了这个。 – Sung 2009-03-16 17:31:40