1
我想將字符串數據存儲到SQL服務器,但數據應以加密格式存儲。所以對於這個我已經使用SQL服務器加密和存儲這個值我已經使用varbinary列。但是我對列的大小感到困惑,因爲當我加密數據時(字符串值),加密數據的大小增加了。 例如,如果我們必須存儲nvarchar(10)值SQL Server,那麼varbinary列的大小是多少?
OPEN SYMMETRIC KEY [mykey] DECRYPTION
BY CERTIFICATE[MyCertificate]
SELECT LEN(EncryptByKey (KEY_GUID('mykey'),CONVERT(nvarchar(8),'10/10/10')))
結果:68
OPEN SYMMETRIC KEY [mykey] DECRYPTION
BY CERTIFICATE[MyCertificate]
select CONVERT(nvarchar(8),DECRYPTBYKEY(EncryptByKey (KEY_GUID('mykey'),CONVERT(nvarchar(8),'10/10/10'))))
Resuls:8
我可以設置varbinary列到100的尺寸,並繼續但會有一些空間浪費。
好的,謝謝,但應該有一些計算來決定這個varbinary列的大小,因爲我有其他數據列的不同大小,我也需要加密這些,所以只是保持varbinary(一些數字)爲任何大小我的意思是小於varbinary列的大小)的數據,這可以嗎? – vishwajeetrkale
好的,確實應該有某種程度上的某種計算。但我不知道提供它的任何功能。我的回答是說,通過定義最大尺寸的二進制列,您不必擔心它需要的精確尺寸。 –