sql怎么加密表


本文摘自PHP中文网,作者清浅,侵删。

sql加密表的方法:首先测试环境;然后创建数据库主密钥;接着创建证书以及一个对称秘钥;最后加密数据即可。

sql server 怎么设置表中加密

SQL Server支持数据库级的加密(TDE)和列级的数据加密,数据库级的加密是在在数据库中进行的,对程序来说是是透明的,开发过程中不需要做额外的操作。相对数据库级的加密来说,列级的数据加密过程有点麻烦,程序需要做一些额外的操作。下图是SQL Server的加密层次结构,可以看出SQL Server的加密是分层级的,上面层级的加密保护其子层级的加密,本文说明一个使用图中①②③④四个层次的方法来加密/解密数据的过程。

(1)测试环境说明

测试使用SQL Servre 2012 R2,创建如下的数据表:

--创建测试用的用户表

1

2

3

4

5

6

CREATE TABLE TBLUser

(   

    Name             nvarchar(30),    

    Password         varbinary(1000),   

)

GO

(2)创建数据库主密钥

数据库主密钥(Database Master Key)在服务主密钥之下,由服务主密钥进行加密。这是一个数据库级别的密钥,可以用于为创建数据库级别的证书或非对称密钥提供加密。每一个数据库只能有一个数据库主密钥,通过T-SQL语句创建。具体代码如下:

1

2

CREATE MASTER KEY ENCRYPTION BY PASSWORD ='passW@ord'

GO

Image 025.png

(3)创建证书

创建一个用来加密对称秘钥证书,具体代码如下:

1

2

CREATE CERTIFICATE TestCert with SUBJECT = 'Test Certificate'

GO

Image 026.png

(4)创建一个对称秘钥

由SQL Server加密层次结构可以看出,对称密钥可以通过密码创建,也可以通过其它对称密钥、非对称密钥和证书创建。本文以证书创建一个测试用的对称秘钥,具体代码如下:

阅读剩余部分

相关阅读 >>

php如何连接sql server

sql创建表后如何输入数据

sql server 2005 数据库复制详细介绍

详解sql server数据库链接查询的方式

mysql用户变量与set语句示例详解

sql增删改查语句是什么?

sql cast,convert,quotename,exec 函数学习记录

阿里规范不建议多表join,可这sql要怎么写啊?

sql中查询命令的关键字是哪些?

mysql如何统计一个数据库所有表的数据量

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...