我有其中的userPassword领域有varbinary数据类型的表,所以我很困惑,在其形式应该我将数据保存到userPassword的字段,因为当我保存VARCHAR数据它给了我错误。什么数据可以存储在SQL Server中的varbinary数据类型?
14
A
回答
19
一个varbinary
列可以存储任何东西。要存储一个字符串的话,你必须将它转换为varbinary
:
declare @t table (id int identity, pwd varbinary(50))
insert into @t (pwd) values (cast('secret' as varbinary(50)))
但对于密码,varbinary
列通常存储某种类型的哈希值。例如,SHA1哈希使用HashBytes
function:
insert into @t (pwd) values (HashBytes('sha1', 'secret'));
存储单向哈希,而不是真正的密码更安全。您可以检查密码是否匹配:
select * from @t where pwd = HashBytes('sha1', 'secret')
但是,您无法通过查看表来检索密码。所以只有最终用户知道他的密码,甚至连DBA都不能检索它。
1
您将需要显式转换VARCHAR。
SELECT CAST(N'Test' as VARBINARY)
SQL Server错误消息说。
允许从数据类型varchar到varbinary的隐式转换不是 。
1
SQL Server需要从varchar to varbinary明确的转换,按照大桌子上CAST和MSDN
转换表将具有varbinary列,以散列值存储为每sys.sql_logins
相关问题
- 1. VarBinary与图像SQL Server数据类型存储二进制数据?
- 2. 什么类型的数据可以类类型存储?
- 3. 将Unicode数据存储在SQL Server 2008中XML数据类型
- 4. 我可以使用varbinary类型将图像存储在SQL Server数据库中吗?
- 5. 什么是在SQL Server中存储博文的最佳数据类型?
- 6. 使用SQL Server 2008日期数据类型以存储年份
- 7. 用于在SQL Server数据库中存储音频文件的数据类型?
- 8. 什么数据库可以存储树?
- 9. 数据类型来存储整数和SQL Server的浮点值
- 10. 数据类型使用存储在SQL
- 11. 数据类型`Location`存储什么样的数据?
- 12. 数据类型存储的条形码在SQL Server 2005
- 13. 存储时间 - SQL Server中的数据类型?
- 14. 什么类型的OData Edm.GeographyPoint在SQL Server数据库中引用
- 15. 在什么类型的我可以在客户机上存储json数据?
- 16. 将RichTextBox数据存储在SQL Server中?
- 17. 使用什么数据类型以便图像可以上传到SQL Server?
- 18. 在SQL Server中以XML格式存储数据的最佳方法是什么?
- 19. 我应该使用什么SQL Server数据类型来存储字节[]
- 20. 我可以在Redis中存储这种类型的数据吗?
- 21. 什么是在MySQL中存储布尔值的数据类型?
- 22. 在RDBM中存储多媒体的数据类型是什么?
- 23. Sql Server 2005数据类型
- 24. SQL Server日数据类型?
- 25. SQL Server 2008数据类型
- 26. SQL Server XML数据类型
- 27. 查找具有VARBINARY列类型的SQL Server数据库中的表/ s的T-SQL语法是什么?
- 28. 什么可能是一个合适的数据类型在sql server 2005中存储电话号码?
- 29. 在SQL Server中合并数据类型
- 30. 什么是存储在SQL Server数据库
我可以存储原始文件像音频文件? – JerryGoyal 2015-08-13 06:12:26
@JerryGoyal是的。另一个通常做的事情是将更大的文件存储在磁盘上,然后将文件路径存储在数据库中 – iliketocode 2017-03-24 14:39:54