发布网友 发布时间:2023-11-19 08:05
共3个回答
热心网友 时间:2024-01-09 08:21
1、首先我们电脑上要安装有SQL Server,然后要准备一个MDF数据库文件。打开SQL Server。
2、点开数据库这一级,右键点击数据库然后选择-所有任务-附加数据库-附加数据库。
3、在弹出界面上点击…按钮,然后找到准备好的MDF数据库文件的存放位置。
4、找到之后选择MDF数据库文件,并点击确定按钮。
5、窗口自动关闭后你就会发现,数据库已经附加上了。
6、如果想把这个数据库去掉的话,那就右键该数据库(比如刚刚附加的数据库)选择所有任务—分离数据库—确定。
热心网友 时间:2024-01-09 08:22
1、测试使用SQL Servre 2012 R2,创建如下的数据表:
--创建测试用的用户表
CREATE TABLE TBLUser
(
Name nvarchar(30),
Password varbinary(1000),
)
GO
2、创建数据库主密钥
数据库主密钥(Database Master Key)在服务主密钥之下,由服务主密钥进行加密。这是一个数据库级别的密钥,可以用于为创建数据库级别的证书或非对称密钥提供加密。每一个数据库只能有一个数据库主密钥,通过T-SQL语句创建。具体代码如下:
--创建数据库主密钥
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='passW@ord'
GO
3、创建证书
创建一个用来加密对称秘钥证书,具体代码如下:
--创建证书
CREATE CERTIFICATE TestCert with SUBJECT = 'Test Certificate'
GO
4、创建一个对称秘钥
由SQL Server加密层次结构可以看出,对称密钥可以通过密码创建,也可以通过其它对称密钥、非对称密钥和证书创建。本文以证书创建一个测试用的对称秘钥,具体代码如下:
--创建对称密钥
CREATE SYMMETRIC KEY TestSymmetric WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE TestCert
GO
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
6、查看加密后的数据
直接下SQL查询加密后的数据,可以看到password的内容是一串不可以阅读的16进制的字符。
--查看加密后的数据
SELECT * FROM TBLUser
GO
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
热心网友 时间:2024-01-09 08:22
在SQl2005下自带的函数hashbytes() ,此函数是微软在SQL SERVER 2005中提供的,可以用来计算一个字符串的 MD5 和 SHA1 值,使用方法如下: