Mysql 是否可以在视图中使用对称密钥?
我有一个观点,我想根据一个条件改变它。但是我想在视图中使用对称密钥。下面是我的代码:Mysql 是否可以在视图中使用对称密钥?,mysql,sql,sql-server,view,encryption-symmetric,Mysql,Sql,Sql Server,View,Encryption Symmetric,我有一个观点,我想根据一个条件改变它。但是我想在视图中使用对称密钥。下面是我的代码: create view dbo.[Test_view] select t.med_id, t.medicine_name, case when t.taxo_id like '%include%' then '1' else '0' end as 'Taxo_number' ----The taxo_id is encrypted column from dbo.Meds t 我想在视图“
create view dbo.[Test_view]
select
t.med_id,
t.medicine_name,
case when
t.taxo_id like '%include%' then '1'
else '0' end as 'Taxo_number' ----The taxo_id is encrypted column
from dbo.Meds t
我想在视图“Taxo_number”中再包含一列,该视图基于使用对称密钥加密的Taxo_id列
My key is: OPEN SYMMETRIC KEY [Test_Key] DECRYPTION BY CERTIFICATE [Test_Cert]
是否有办法将此键包含在“查看”脚本中?请帮忙 你当然可以。这是一个POC:
use tempdb;
go
create symmetric key [mykey]
WITH ALGORITHM = AES_256
ENCRYPTION BY PASSWORD = 'SouperSecretz>789'
go
create table dbo.Secrets (
Secret varbinary(400)
)
go
create view dbo.openSecrets
as
select cast(decryptbykey(Secret) as varchar(200)) as OpenSecret
from dbo.Secrets
go
open symmetric key [mykey]
DECRYPTION BY PASSWORD = 'SouperSecretz>789'
go
insert into dbo.Secrets (Secret)
values (ENCRYPTBYKEY(KEY_GUID('myKey'), 'asdfasdf'));
select *
from dbo.openSecrets;
close symmetric key [mykey];
select *
from dbo.openSecrets;
在本演示中,我将创建:
- 对称密钥
- 将保存由该密钥加密的数据的表
- 表顶部进行解密的视图
null
因此,只要在会话中打开密钥,就应该能够看到明文数据。如果没有,您将(成功)获得该列的null