返回顶部
首页 > 资讯 > 数据库 >怎么加密sql中的表
  • 206
分享到

怎么加密sql中的表

2024-04-02 19:04:59 206人浏览 八月长安
摘要

这篇文章运用简单易懂的例子给大家介绍怎么加密sql中的表,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。sql加密表的方法是:首先测试环境然后再创建数据库主密钥,之后创建证书以及创建一个

这篇文章运用简单易懂的例子给大家介绍怎么加密sql中的表,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

sql加密表的方法是:首先测试环境然后再创建数据库主密钥,之后创建证书以及创建一个对称秘钥,最后加密数据。

sql server 怎么设置表中加密

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

怎么加密sql中的表

(1)测试环境说明

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

--创建测试用的用户表

CREATE TABLE TBLUser 
(    
    Name             nvarchar(30),     
    PassWord         varbinary(1000),    
)
Go

怎么加密sql中的表

(2)创建数据库主密钥

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

CREATE MASTER KEY ENCRYPTioN BY PASSWORD ='passW@ord'
GO

怎么加密sql中的表

(3)创建证书

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

CREATE CERTIFICATE TestCert with SUBJECT = 'Test Certificate'
GO

怎么加密sql中的表

(4)创建一个对称秘钥

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

CREATE SYMMETRIC KEY TestSymmetric WITH ALGORITHM = AES_256
 ENCRYPTION BY CERTIFICATE TestCert 
GO

怎么加密sql中的表

(5)加密数据

先打开证对称秘钥,再使用ENCRYPTBYKEY函数加密数据,完成后关闭对称秘钥。具体代码如下:

OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;
INSERT INTO TBLUser values('张三', ENCRYPTBYKEY(Key_Guid(N'TestSymmetric'), '123456'));
CLOSE SYMMETRIC KEY TestSymmetric;
GO

怎么加密sql中的表

(6)查看加密后的数据

直接下SQL查询加密后的数据,可以看到password的内容是一串不可以阅读的16进制的字符。

SELECT * FROM TBLUser
GO

怎么加密sql中的表

(7)解密数据

先打开证对称秘钥,再使用DecryptByKey函数解密数据,完成后关闭对称秘钥。具体代码如下:

OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;
SELECT Name, CAST(DecryptByKey(password) as varchar(100)) Password FROM TBLUser;
CLOSE SYMMETRIC KEY TestSymmetric;
GO

怎么加密sql中的表

关于怎么加密sql中的表就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么加密sql中的表

本文链接: https://lsjlt.com/news/41303.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么加密sql中的表
    这篇文章运用简单易懂的例子给大家介绍怎么加密sql中的表,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。sql加密表的方法是:首先测试环境然后再创建数据库主密钥,之后创建证书以及创建一个...
    99+
    2024-04-02
  • sql加密的表怎么合并
    要合并两个含有加密数据的表,需要先解密其中一个表的数据,然后再将解密后的数据插入到另一个表中。这样可以确保加密数据的完整性和一致性。...
    99+
    2024-04-08
    sql
  • sql中怎么对密码字段加密
    在SQL中对密码字段进行加密一般可以通过使用哈希函数来实现。常见的哈希函数有MD5、SHA-1、SHA-256等。以下是一个使用MD...
    99+
    2024-04-09
    sql
  • sql怎么附加表
    在 sql 中使用附加表可以将两个兼容的表合并到一个临时集合中,允许您查询和操作组合的表。步骤如下:使用 alter table 语句,后跟 attach 子句,并指定要附加的表的名称或...
    99+
    2024-05-30
  • SQL怎么为表中添加外键
    在SQL中,可以使用ALTER TABLE语句来为表中添加外键。具体步骤如下:1. 确定需要添加外键的表和字段。假设有两个表,分别是...
    99+
    2023-09-27
    SQL
  • SQL怎么为表中添加主键
    在SQL中,可以通过以下两种方式为表中添加主键:1. 在创建表时指定主键:CREATE TABLE 表名 (   &nbs...
    99+
    2023-10-23
    SQL
  • sql怎么向表中添加记录
    要向SQL表中添加记录,您可以使用INSERT INTO语句。语法如下: INSERT INTO 表名 (列名1, 列名2, 列名3...
    99+
    2023-10-24
    sql
  • 怎么在sql表中添加约束
    在SQL表中可以使用以下方法添加约束:1. 主键约束(Primary Key Constraint):指定一个或多个列作为主键,保证...
    99+
    2023-08-18
    sql
  • sql怎么向表中添加数据
    要向表中添加数据,可以使用INSERT INTO语句。语法如下: INSERT INTO table_name (column1, ...
    99+
    2024-04-10
    sql
  • oracle怎么对字段加密 sql
    oracle 提供两种字段加密方法:基于行的加密:使用 aes 对整行数据进行加密。基于列的加密:使用 aes 或 rsa 对特定列进行加密。 如何使用 SQL 对 Oracle 字段...
    99+
    2024-04-02
  • sql怎么给表中添加一条记录
    要向表中添加一条记录,可以使用INSERT INTO语句。以下是一个示例: INSERT INTO table_name (colu...
    99+
    2024-04-22
    sql
  • sql md5加密函数怎么使用
    在SQL中使用MD5加密函数可以对特定列的值进行MD5加密操作。具体使用方法如下: SELECT MD5(column_na...
    99+
    2024-04-09
    sql
  • Python中怎么加密密码
    今天就跟大家聊聊有关Python中怎么加密密码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如何在Python中加密密码加密密码会将密码编码为随机字符序列。使用base64.b64e...
    99+
    2023-06-16
  • SQL中怎么实现表中字段的组合累加排序
    这篇文章给大家介绍SQL中怎么实现表中字段的组合累加排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。有表如下:1      10   &nbs...
    99+
    2024-04-02
  • sql创建表怎么添加备注
    在SQL中,可以使用COMMENT关键字来为表和表的字段添加备注。以下是一个示例: 在创建表时添加表备注: CREATE TABLE...
    99+
    2024-04-09
    sql
  • PHP怎么使用OpenSSL加密中的非对称加密
    这篇文章主要介绍了PHP怎么使用OpenSSL加密中的非对称加密,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP的OpenSSL加密扩展学习:非对称加密生成私钥通过之前的...
    99+
    2023-06-15
  • mysql数据库中怎么用sql给表增加列
    这篇文章给大家分享的是有关mysql中怎么用sql给表增加列的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。首先选定一个数据表,如下图所示然后新建一个查询,如下图所示接下来执行ad...
    99+
    2024-04-02
  • 怎么用PL/SQL实现数据库加密与解密
    在 PL/SQL 中实现数据库加密与解密通常可以通过使用 Oracle 提供的 DBMS_CRYPTO 包来实现。下面是一个简单的示...
    99+
    2024-05-08
    PL/SQL 数据库
  • sql怎么给表添加主键约束
    在 SQL 中,可以使用 ALTER TABLE 语句来给表添加主键约束。具体的语法格式如下: ALTER TABLE table_...
    99+
    2023-10-23
    sql
  • sql怎么给表添加外键约束
    在SQL中,可以使用ALTER TABLE语句来给表添加外键约束。语法如下:ALTER TABLE 表名ADD CONSTRAINT...
    99+
    2023-10-24
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作