我有一个程序,我通过加密插入了值。但是当我尝试解密该值时,它没有被正确解密。通过程序插入加密值时,请帮助我做什么。
代码是:
create TABLE customer(
customer_id INT IDENTITY(1,1) CONSTRAINT pk_cust_id PRIMARY KEY,
salary varbinary(300)
)
create symmetric key sk_customer with algorithm = aes_192 encryption by password = 'abc@1234';
open symmetric key sk_customer decryption by password = 'abc@1234';
INSERT INTO customer(salary) VALUES(encryptbykey(key_guid('sk_customer'),'123.001254', 1, '1'))
create PROCEDURE [dbo].[usp_InsertCustomer]
(
@salary varbinary(300)
)
as
begin
open symmetric key sk_customer decryption by password = 'abc@1234';
INSERT INTO customer(salary)VALUES (
encryptbykey(key_guid('sk_customer '),@salary,1,CONVERT(VARCHAR(10),@@IDENTITY))
)
SELECT @@IDENTITY
close symmetric key sk_customer;
end
GO
EXEC usp_InsertCustomer
@salary = 852.369
SELECT customer_id,convert(varchar(max),decryptbykey(salary,1, convert(varchar(10),customer_id))) as 'Salary' FROM customer