SQL Server中怎么防止开发人员获取敏感数据
发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,这篇文章给大家介绍SQL Server中怎么防止开发人员获取敏感数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。***步,创建数据库主密钥CREATE MASTER KEY E
千家信息网最后更新 2024年11月12日SQL Server中怎么防止开发人员获取敏感数据
这篇文章给大家介绍SQL Server中怎么防止开发人员获取敏感数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
***步,创建数据库主密钥
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='SysKey' GO
这里创建了数据库主密钥,比如密码是'SysKey'。主密钥只需要创建一次。
第二步,创建证书
CREATE CERTIFICATE MYCERT with SUBJECT = 'My Cert' GO
这里创建了证书MYCERT,证书的元数据中的字段为'My Cert'。证书创建一次,以后解密时需要先Open。
第三步,创建对称密钥
CREATE SYMMETRIC KEY MYKEY WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE MYCERT; GO
这里基于证书MYCERT创建了密钥MYKEY,加密算法为AES_256。加密算法有好几种。
前三步做完之后,我们可以在资源管理器中看到我们的证书和密钥信息,如下图所示:
第四步:加密解密有效性测试
我们先通过变量测试加密解密的有效性:
OPEN SYMMETRIC KEY MYKEY DECRYPTION BY CERTIFICATE MYCERT; declare @key varbinary(MAX); set @key=EncryptByKey(key_guid('MYKEY'),'20000.00'); select @key; select convert(varchar(100), DecryptByKey(@key));
在解密之前,要先打开我们定义的密钥,通过:
OPEN SYMMETRIC KEY NCSK DECRYPTION BY CERTIFICATE NCSC;
这句打开密钥,如果不先打开密钥,返回的将会是NULL。
运行参考结果参考下图:
第五步,准备使用的数据
为了描述方便,我们创建一个工资表变量:
declare @Salary table( FName nvarchar(50), FSalary varbinary(MAX));
这里要注意,存放加密数据的字段要设置成varbinary类型。
第六步,插入加密数据
插入时,要使用函数EncryptByKey对文本进行加密,通过函数key_guid获取密钥,加密后的数据类型为varbinary。
insert into @Salary(FName,FSalary) values ('张三',EncryptByKey(key_guid('MYKEY'),'20000.00')), ('李四',EncryptByKey(key_guid('MYKEY'),'25000.00')), ('王二',EncryptByKey(key_guid('MYKEY'),'30000.00'));
第七步:数据读取
读取数据时需要调用函数DecryptByKey解密,通过Convert将解密后的Varbinary转换成varchar类型。
select *,convert(varchar, DecryptByKey(FSalary)) from @Salary;
完整的处理请参考下图:
关于SQL Server中怎么防止开发人员获取敏感数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
密钥
加密
证书
参考
函数
类型
人员
开发
有效
下图
内容
加密解密
变量
字段
数据库
更多
有效性
算法
建一
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
平台网络安全保障
六盘水web服务器
数字视频服务器国家标准
sql数据库中的所有表
郑州通磐互联网科技有限公司
网络安全手抄报简单图
网络安全电影票房排行榜
汕尾数字软件开发厂家直销
银川教育软件开发价格
图软件开发面试试题
数据库可以安装在e盘吗
服务器管理器2016
支持安卓的数据库软件
上海银行软件开发是哪个部门
软件开发的价格趋势
海南海口软件开发有限公司
网络安全专家在什么地方上班
服务器安全认证错误什么意思
定量金融软件开发
屏风设计软件开发
服务器放海底不怕偷吗
软件开发游戏制作公司
新娘发型设计软件开发
湖北web前端软件开发有用吗
浙大城市学院网络安全学院
网络安全故事350字
数据库系统安全代码
倩女幽魂白衣胜雪服务器哪个好
aix查看数据库进程号
软件开发资金数据