① sql数据加密有几种方法
对sql中的数敏升据进行加密,有5种方法,
1、利用CONVERT改变编码方式:
利用该函数把文字或数据转换成VARBINARY。但该方式不具备保护数局拿尘据的能力,仅避免浏览数据的过程中能直接看到敏感数据的作用。
2、利用对称密钥:
搭配EncryptByKey进行数据加密。使用DecryptByKey函数进行解密。这种方式比较适合大数据量。因为对称密钥的过程耗用资源较少。
3、利用非对称密钥:
搭配EncryptByAsymKey进行数据加密。使用DecryptByAsymKey函数进行解密。用于更高安全级别的加解密数据。因为耗用资源叫多。
4、利用凭证的方式:
搭配EncryptByCert进行加密和DecryptByCert函数进行解密。比较类似非对称密钥。
5、利用桐禅密码短语方式:
搭配EncryptBypassPhrase进行加密,使用DecryptByPassPhrase函数来解密。可以使用有意义的短语或其他数据行,当成加密、解密的关键字,比较适合一般的数据加解密。
(1)sql加密工具库扩展阅读:
sql数据库的组成:
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成:
1、一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2、一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3、一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4、一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。
5、用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6、SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。
SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。
参考资料来源:网络-SQL数据库
② 如何对SQL中的表或数据库加密
有专用数据库软硬件可以在DBMS和应用之间做桥梁,可以进行加密等一系列操作,不过一般是商用的,比较昂贵,比如Oracle就有database security这样的软件,加密后,维护人员没有密码也不知道数据内容
③ sql怎么自动备份并将备份文件加密
SQL SERVER 定时自动备份,并将备份文件加密压缩(2008-11-12 11:21:48)标签:it 分类:操作系统@数据库
最近因为公司要升级HR系统,我被安排管理这个项目,公司为了安全起见和我签署了保密协议,按了手印责任就大了,所以要想办法加强系统、应用、数据库的安全,系统无法控制,应用的安全还不错,所以我就着手做数据库的安全,数据库用户及密码都控制了,现在需要对自动备份的数据文件进行加密,以下就是我使用到的工具、方法和代码共享出来,供大家参考。
第一个步骤:就是让SQL Server自动备份数据库,通过DB维护计划完成,这个我就不详细说了。
第二个步骤:就是加密并压缩备份的数据库文件。为了在备份后,马上进行压缩,最方便的就是直接使用SQL命令执行压缩,由于WinRAR可以通过命令行调用,所以我们可以使用SQL Server中的xp_cmdshell命令来执行压缩指令,同时通过其中的一些参数指定压缩密码,这样加密压缩就实现了。(为了实现此功能,服务器上要安装WinRAR)
第三步骤:修改维护计划里调用的SQL,在命令中输入执行备份、加密、删除备份的文件的存储过程。
实施步骤和代码:
1、在备份的数据库中建立存储过程
CREATE procere hrp_backup
--alter procere hrp_backup
WITH ENCRYPTION
AS
declare
@prefix nvarchar(100),
@datefile nvarchar(100),
@bakfile nvarchar(100),
@rarfile nvarchar(100),
@delcmd nvarchar(100),
@rarcmd nvarchar(150)
set @prefix='D:/Database_bak/' --备份文件夹
set @datefile='HRM8_DBBAK_'+cast(Year(GetDate()) as varchar(4))+cast(Month(GetDate()) as varchar(2))+cast(Day(GetDate()) as varchar(2))
set @bakfile=@prefix+@datefile+'.bak'
set @rarfile=@prefix+''+@datefile+'.rar'
BACKUP DataBASE HRM8 TO DISK = @bakfile WITH INIT , NOUNLOAD , NAME = N'HR数据备份', NOSKIP , STATS = 10, NOFORMAT
--set @delcmd = 'del '+@prefix+ 'RAR/*.rar' --先清空RAR备份文件夹
set @rarcmd ='C:/Progra~1/WinRAR/WinRAR.exe a -ppassword -df -ep1 '+@rarfile+' '+@bakfile
-- -df压缩后删除文件 -ep1 从名称中排除基本目录
--将password改为您要设置的密码,进行加密压缩
--exec master..xp_cmdshell @delcmd
exec master..xp_cmdshell @rarcmd
Go
2、新建维护计划,在Transact-SQL命令中执行以上的存储过程。
exec hrp_backup
go
验证调试成功。
④ sql server中怎么给数据库表中的用户密码加密
1、首先我们电脑上要安装有SQL Server,然后要准备一个MDF数据库文件。打开SQL Server。
⑤ 数据库怎么加密
当数据被存储时候被加密,它们被使用的时候就会自动加密。在其他的情况下,你可以选择数据是否要被加密。SQL Server数据库可以加密下列这些组件:密码存储过程,视图,触发器,用户自定义函数,默认值,和规则。
在服务器和用户之间传输的数据密码加密SQL Server自动将你分配给登陆和应吵竖用角色的密码加密。尽管当你可以从主数据库中直接察看系统表格而不需要密码。你不能给对这种情况作出任何修改,事实上,你根本不能破坏它。
定义加密在有些时候,如果对对象进行加密是防止将一些信息分享给他人。例如,一个存储进程可能包含所有者的商业信息,但是这个信息不能和让其他的人看到,即使他们公开的系统表格并可以并迟看到对象的定义。这就是为什么SQL Server数据库允许你在创建一个对象的时候进行加密。为了加密一个存储进程,使用下面形式的CREAT PROCEDURE 语句:
[;number]
[@
[VARYING][=][OUTPUT]]
[,]
[|ENCRYPTION|RECOMPILE,ENCRYPTION]
我们关心的仅仅是可选的WITH参数。你可以详细说明ARECOMPILE或者ENCRYPTION,或者你可以同时说明它们。ENCRYPTION关键字保护SQL Server数据库它不被公开在进程中。结果,如果ENCRYPTION在激活的时候系统存储进程sp_helptext就会被忽视,这个存储进程将被升蔽大存储在用户创建进程的文本中。
如果你不想要加密,你可以使用ALTER PROCEDURE,忽略WITH ENCRYPTION子句来重新创建一个进程。
为了能够使用加密。用户和服务器都应该使用TCP/IP 用来连接。运行适当的Network Utility和检查Force protocol encryption,看下表,用户和服务器之间的连接将不会被加密。
加密也不能完全自由。当连接确定后源码天空
要继续其他的构造,并且用户和服务器必须运行代码来解释加密和解释的包裹。这里将需要一些开销并且当在编译码的时候会使进程慢下来。
是否可以解决您的问题?
⑥ 如何在SQL Server数据库中加密数据
热心网友
在SQl2005下自带的函数hashbytes()
,此函数是微软在SQL
SERVER
2005中提供的,可以用来计算一个字符串的
MD5
和
SHA1
值,使用方法如下:
--获取123456的MD5加密串
select
hashbytes('MD5',
'123456')
;
--获取123456的SHA1加密串
select
hashbytes('SHA1',
'123456')
;有了这个函数可以在sqlserver中为字符串进行加密,但是hashbytes()
函数的返回结果是
varbinary类型,(以
0x
开头
16
进制形式的二进制数据)通常情况下,我们需要的都是字符串型的数据,很多人首先想到的可能就是用
CAST
或
Convert
函数将varbinary
转换为
varchar,但这样转换后的结果会是乱码,正确转换
varbinary
可变长度二进制型数据到
16
进制字符串应该使用系统内置函数
sys.fn_varbintohexstr()(只在sqlserver2005下有),如下所示:select
sys.fn_varbintohexstr(hashbytes('MD5',
'123456'))
然后就可以截取需要的部分select
lower(right(sys.fn_varbintohexstr(hashbytes('MD5','123456')),32))为md5加密串。
⑦ SQL数据库被加密了怎么办
用”合力天下数据库加密软件“加密的sqL数据库在本机是可以正常运行的,远程非法下载或传到网上是打不开的,如果需要带出公司,可以找公司管理员解密后带出