开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 2167|回复: 0

求助:SQLserver2014 insert加密数据与查询数据不一致...

[复制链接]

0

精华

0

贡献

214

赞扬

帖子
22
软币
451
在线时间
41 小时
注册时间
2020-7-25
发表于 2022-4-8 05:53:56 | 显示全部楼层 |阅读模式

请问各位:

数据库的数据采样证书加密,下面是创建证书过程;

--创建一个MASTER KEY,秘钥需要MASTER KEY;

CREATE MASTER KEY ENCRYPTION BY PASSWORD='zjh'

GO

--创建证书;

CREATE CERTIFICATE eShopCert WITH SUBJECT ='eShop证书'

GO

--创建由eShopCert证书加密的对称秘钥,对称秘钥名称PwdSymmetric;

CREATE SYMMETRIC KEY PwdSymmetric  --创建对称秘钥,名称为PwdSymmetric;

       WITH ALGORITHM=AES_256                  --加密算法AES_256;

       ENCRYPTION BY CERTIFICATE eShopCert         --由eShopCert证书加密;

GO

1、首先,通过下面方法向SQLserver2014的表Table1插入加密数据55;

--通过证书eShopCert,打开对称秘钥PwdSymmetric;
OPEN SYMMETRIC KEY PwdSymmetric DECRYPTION BY  CERTIFICATE eShopCert
--向表Table1插入id,age_pwd两列,值分别为4和加密后的56;
INSERT Table1(id,age_pwd) VALUES ('13',ENCRYPTBYKEY (KEY_GUID('PwdSymmetric'),'55'))
--关闭对称秘钥;
CLOSE SYMMETRIC KEY PwdSymmetric

2、在通过下面方法,查询加密的数据

--解密数据;
--通过证书eShopCert,打开对称秘钥PwdSymmetric;
OPEN SYMMETRIC KEY PwdSymmetric DECRYPTION BY  CERTIFICATE eShopCert
--查看解密后数据;
SELECT *,CONVERT(nvarchar(25),decryptbykey(age_pwd)) FROM Table1

请问,为什么会出现乱码,不是55的值啊?结果如下图。



捕获.PNG
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-26 21:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表