如何真正存储二进制数据类型?

时间:2018-04-26 10:16:38

标签: sql sql-server

我有一个SHA256密码字段为二进制(32)。如果我使用select语句,我会看到类似0x81B637D8FCD2C6DA6359E6963113A1170DE795E4B725B84D1E0B4CFD9EC58CE9的内容。我想知道它们是如何存储的?

我有一个函数(用C#编写)基本上哈希密码(返回字节而不是字符串),当我将它与数据库进行比较时,它工作正常,无需将哈希值设置为Upper或添加0x前缀就像在SQL中一样。虽然听起来很奇怪,但我不明白为什么比较有效?因为如果我尝试将该字节结果转换为C#中的字符串,我会得到类似81-B6-37 etc.的内容,所以它们也会以这种方式存储在SQL中吗?

1 个答案:

答案 0 :(得分:2)

二进制。但由于很难将二进制显示为文本,因此您将获得十六进制表示。