Sql server SQL Server将算法从TRIPLE_DES更改为AES_128
我想更改SQL Server数据库的算法,因为它将从2008年R2更新到2017年 我想删除并放置AES 128的三重DES代码是:Sql server SQL Server将算法从TRIPLE_DES更改为AES_128,sql-server,encryption,aes,des,Sql Server,Encryption,Aes,Des,我想更改SQL Server数据库的算法,因为它将从2008年R2更新到2017年 我想删除并放置AES 128的三重DES代码是: CREATE MASTER KEY ENCRYPTION BY PASSWORD ='mypassword' go CREATE CERTIFICATE my_certificate ENCRYPTION BY PASSWORD = 'mypassword' WITH SUBJECT = 'Password', EXPIRY_DATE = '12/31/2199
CREATE MASTER KEY ENCRYPTION
BY PASSWORD ='mypassword'
go
CREATE CERTIFICATE my_certificate
ENCRYPTION BY PASSWORD = 'mypassword'
WITH SUBJECT = 'Password',
EXPIRY_DATE = '12/31/2199';
go
CREATE SYMMETRIC KEY my_symmetric_key
WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE my_certificate;
go
GRANT CONTROL ON CERTIFICATE::my_certificate TO public
GO
GRANT VIEW DEFINITION ON SYMMETRIC KEY::my_symmetric_key TO public
GO
GRANT REFERENCES ON SYMMETRIC KEY::my_symmetric_key TO public
GO
GRANT CONTROL ON SYMMETRIC KEY::my_symmetric_key TO public
GO
我尝试将它们全部删除并创建一个新的:
DROP SYMMETRIC KEY my_symmetric_key
go
DROP CERTIFICATE my_certificate
go
DROP MASTER KEY
go
CREATE MASTER KEY ENCRYPTION
BY PASSWORD ='mypassword'
go
CREATE CERTIFICATE my_certificate
WITH SUBJECT = 'Password',
EXPIRY_DATE = '12/31/2029';
CREATE SYMMETRIC KEY my_symmetric_key
WITH ALGORITHM = AES_128, IDENTITY_VALUE = 'myidentityvalue', KEY_SOURCE = 'mykeysource'
ENCRYPTION BY PASSWORD = 'mypassword';
GRANT CONTROL ON CERTIFICATE::my_certificate TO public
GO
GRANT VIEW DEFINITION ON SYMMETRIC KEY::my_symmetric_key TO public
GO
GRANT REFERENCES ON SYMMETRIC KEY::my_symmetric_key TO public
GO
GRANT CONTROL ON SYMMETRIC KEY::my_symmetric_key TO public
GO
虽然没有出错,但我尝试了加密
OPEN SYMMETRIC KEY my_symmetric_key
DECRYPTION BY CERTIFICATE my_certificate WITH PASSWORD = 'mypassword'
..
SELECT CAST(EncryptByKey(Key_Guid('my_symmetric_key') , @thingtodecrypt) as varbinary)
我得到了这个错误:
The key is not encrypted using the specified decryptor
谢谢你的帮助