| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1030 人关注过本帖
标题:求助:SQLserver2014 insert数据与查询数据不一致,出现乱码?
只看楼主 加入收藏
zqs0001
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-13
结帖率:0
收藏
 问题点数:0 回复次数:1 
求助:SQLserver2014 insert数据与查询数据不一致,出现乱码?
请问各位:

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

--创建一个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的值啊?


[此贴子已经被作者于2022-4-6 18:41编辑过]

搜索更多相关主题的帖子: 对称 证书 数据 KEY 加密 
2022-04-06 16:46
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:289
专家分:640
注 册:2014-3-18
收藏
得分:0 
先不用数据库,看看加密解密有无问题
2022-05-06 18:15
快速回复:求助:SQLserver2014 insert数据与查询数据不一致,出现乱码?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020179 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved