按證書加密

CREATE CERTIFICATE My_New_Cert
FROM FILE = 'D:\Temp\CertTest\certificateDER.cer'
GO

建立證書

SELECT EncryptByCert(Cert_ID('My_New_Cert'), 
'This text will get encrypted') encryption_test

通常,你將使用對稱金鑰進行加密,該金鑰將通過證書中的非對稱金鑰(公鑰)進行加密。

另請注意,加密受限於某些長度,具體取決於金鑰長度,否則返回 NULL。微軟寫道:“限制是:512 位 RSA 金鑰最多可加密 53 個位元組,1024 位金鑰最多可加密 117 個位元組,2048 位金鑰最多可加密 245 個位元組。”

EncryptByAsymKey 具有相同的限制。對於 UNICODE,這將除以 2(每個字元 16 位),因此 1024 位金鑰為 58 個字元。