什么DataType应该是存储加密数据的列?
我们可以使用varchar而不是varbinary =>如果我们使用varchar
会有什么奇怪的后果吗?由于
答案 0 :(得分:3)
必须是varbinary。使用varchar将导致客户端应用程序中的所有奇怪行为。使用nvarchar可能会命中无效的unicode组合。最重要的是,绝对没有一个理由可以为此使用varchar而不是varbinary。
答案 1 :(得分:2)
您应该在SqlServer中使用BINARY(n)或VARBINARY(n)数据类型。其他DBMS有相同但不同命名的数据类型。
如果客户端和服务器在不同的代码页上工作,则使用VARCHAR会遇到问题,因为系统会尝试在代码页之间进行转换。如果您的数据库正在存储或您的cliuent设置为使用字符数据为utf-8或unicode,您将遇到更多问题,因为某些位模式会对字符串的解释方式产生重大影响。