我找到了此命令来了解有关 MS-SQL 2014 中使用对称密钥加密的详细信息,但此查询未提供 IV。如何在加密中找到 IV?
SELECT *
FROM sys.symmetric_keys;
答案1
初始化向量 (IV) 是随机生成的,并添加到加密结果的元数据中。具体来说:
带有元数据的加密结果的格式如下:
加密结果的前16个字节表示用于加密数据的对称密钥的GUID。
接下来的 4 个字节代表版本号 [...]
接下来的 8 个字节用于 DES 加密(16 个字节用于 AES 加密)表示随机生成的 IV。 [...]
来源:Jay Natarajan、Rudi Bruchez、Michael Coles、Scott Shaw、Miguel Cebollero,《Pro T-SQL 程序员指南》。
因此,初始化向量(复数)不存储在 sys.symmetric_keys 中,而是存储在加密数据本身中。