![在 SQL 2008 中解密列](https://linux22.com/image/512955/%E5%9C%A8%20SQL%202008%20%E4%B8%AD%E8%A7%A3%E5%AF%86%E5%88%97.png)
我需要解密先前在应用程序级别加密的表中的列。
该算法是 192 位 DES,块大小 = 64。
我有密码,但是 DecryptByPassPhrase 似乎不起作用。
答案1
您需要原始密钥。加密密码很可能用于加密密钥,而不是数据。DECRYPTBYPASSPHRASE
可以用来解密ENCRYPTBYPASSPHRASE
解密由以下方式加密的内容ENCRYPTBYKEY
, 你用DECRYPTBYKEY
. 密码用于打开钥匙:
OPEN SYMMETRIC KEY <keyname> DECRYPTION BY PASSWORD = '...';
如果加密密钥由证书加密,而证书又由密码加密(通常情况下如此),那么您显然需要使用密码打开证书。无论谁设计了原始加密方案,都应该能够指导您完成正确的解密密钥层次结构。