2010-07-30 72 views
1

什麼DataType應該是要存儲的加密數據列?SQL - 加密數據列

我們能有VARCHAR,而不是VARBINARY =>也有會不會有什麼奇怪的後果,如果我們使用VARCHAR

感謝

回答

3

必須被VARBINARY。相反,使用varchar會導致客戶端應用程序中出現各種奇怪的行爲。使用nvarchar可能會導致無效的unicode組合。最重要的是絕對沒有一個原因,爲什麼會使用varchar而不是varbinary。

2

您應該在SqlServer中使用BINARY(n)或VARBINARY(n)數據類型。對於其他DBMS,有相同但命名不同的數據類型。

如果客戶端和服務器在不同的代碼頁上工作,系統將嘗試在代碼頁之間進行轉換,那麼使用VARCHAR會遇到問題。如果您的數據庫正在存儲或者您的cliuent被設置爲使用字符數據作爲utf-8或unicode,則會遇到更多問題,因爲某些位模式會對字符串的解釋方式產生嚴重影響。