① sql数据文件怎么加密
首先要说明不能限制 “谁”,只能限制部分人
其次是加密数据肯定要降低效率
一般情况你数据表中数据不用全部加密,某些关键字段加密就行了
但是你这个只能用可逆转加密,而且加密后 查询检索会麻烦些
不能直接复制,使用 Blob 字段就类型就行了
要加密简单点用 Base64编码好了,也不能直接复制,肉眼看不出来,拿走也不能直接用
其它的加密方式 效果好些,但效率就低了。
② 教你如何在SQL Server数据库中加密数据
为了防止某些别有用心的人从外部访问数据库 盗取数据库中的用户姓名 密码 信用卡号等其他重要信息 在我们创建数据库驱动的解决方案时 我们首先需要考虑的的第一条设计决策就是如何加密存储数据 以此来保证它的安全 免受被他人窥测
SQL Server中有哪一种支持可以用于加密对象和数据?从一开始就讨论一下SQL Server欠缺什么是明智的 或者是对于SQL Server中的加密部分你不应该做什么
首先 SQL Server有两个内置的密码函数——即 pwdencrypt() 和 pwdpare() 同时 还有两个SQL Server用来管理密码哈希的没有正式记录的函数:pwdencrypt() 将密码哈希过后进行存储; pwdpare()将提供的字符串与哈希后的字符串进行比较 不幸的是 这个哈希函数不是非常安全 它可以通过字典攻击算法被破解(类似命令行应用程序!)
这些函数随着SQL Server的版本发展而不断进行修改 这也是另一个没有使用它们的原因 早期版本的SQL Server对密码进行的哈希 在后来的版本中无法解密 所以如果你依赖一个版本中的函数 那么当升级的时候 所有你的加密数据就都没有用了 除非你可以首先对其解密——这也就违背了敏液加密的最初的目的
第二 你可能会尝试去创建一个针对你的数据库的自制的加密解决方案 但是有以下三个理由说明你不要这样做:
除非你是加密专家 否则胡乱编写的加密系统只会提供非常低级的价值不高的保护 新鲜的是 单向密码哈希或者 ROTx 形式的加密几乎不需要费事就可以被轻松打败
如果由于你自己的能力的缺乏而导致加密被破解 那么你的数据就完蛋了 你需要将所有的东西进行没有加密的备份 是吗?(即使你加密了 那里有没有安全漏洞?)
当市面上提供有专业级别的 具有工业强度的加密解决方案的时候 你就不值得花费时间去自己做 把你的时间用于构建一个好的 坚固的数据库 而不是再重新发明一次车轮
那么 什么才是好的加密数据的方式呢?
对于新手 微软提供了一个自己生成的加密解败伏决方案 CryptoAPI 对于轻量级的加密 军用级别的安全就不在考虑范围之内 它具有相对容易实现的优势:管理员可以安装一个名为CAPI 的ActiveX 控制 它可以在T SQL存储过程中提供CryptoAPI 功能 CAPI 支持察拿携各种类型的双向加密和单向哈希算法 所以管理员可以挑选最适合应用程序的问题的部分
如果你对使用微软的解决方案不感兴趣 还有一些很好的第三方的方案可以使用 一家名为ActiveCrypt 的软件有限责任公司制造了XP_CRYPT 它是SQL Server的插件 可以在视图 程序和触发器中通过扩展存储过程和用户自定义函数(在SQL Server 中)来完成加密 你可以下载一个支持无线的MD DES 以及SHA 哈希的免费版本的应用程序; 其他的加密模型就是在比特深度上进行的 (完全版本是无限的 )在你自己的代码中 你可以使用XP_CRYPT 与ActiveX 控制一样(在受限的免费版本中) 对于ASP程序员来说 一个名为AspEncrypt 的组件提供了一种将高级加密整合到你的代码中的简单方式
lishixin/Article/program/SQLServer/201311/22397
③ 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 数据库与客户端的数据传输怎么加密
1、需要看的那种加密会需要在客户端独立设置解密才行,这样加大了编程工作量,数据在传输过程中。
2、高级版本的sqlserver已经加密,特别是帐号密码不是明文传输。
3、加解密过程首先是CPU高开销操作,过度频繁一定会带来性能问题
4、SQL Server 支持安全套接字层 (SSL),并且与 Internet 协议安全 (IPSec) 兼容。所以,sql server是支持在传输数据时进行加密的。
⑥ sql数据库怎么加密
SQL Server中的加密简介
在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。
到了SQL Server2005,引入了列级加密。使得加密可以对特定列执行,这个过程涉及4对加密和解密的内置函数
SQL Server 2008时代,则引入的了透明数据加密(TDE),所谓的透明数据加密,就是加密在数据库中进行,但从程序的角度来看就好像没有加密一样,和列级加密不同的是,TDE加密的级别是整个数据库。使用TDE加密的数据库文件或备份在另一个没有证书的实例上是不能附加或恢复的。
⑦ MD5如何对sql加密
对SQL加密?
SQL
SERVER
有自己的一套安全系统验证,它做的已经很好了
一般我们对SQL的加密都是对里面数据内容的加密,而常用的是密码的加密
现在常用的加密是MD5,把用户的密码加密后,保存到SQL数据库
还有一种是对分布式SQL的加密,就ASP.NET
2.0而言,可以在web.config文件里的SQL网络链接字符进行加密,以保证SQL
server的安全性
如有其他问题请提出,很高兴为你解答
⑧ 请问SQL怎么对数据进行加密
--以下代码包括创建密钥,加密,解密和删除密钥
/*
1.利用对称密钥
搭配EncryptByKey进行数据加密
使用DecryptByKey函数进行解密
这种方式比较适合大数据量
*/
='XIAOMA'
='ZXCCERTIFICATE',EXPIRY_DATE='2015/01/01'
CREATESYMMETRICKEYSYM_TOMWITHALGORITHM=
OPENSYMMETRICKEYSYM_
SELECTCONVERT(NVARCHAR(10),Decryptbykey((Encryptbykey(Key_guid('SYM_TOM'),N'TOM3'))))
CLOSESYMMETRICKEYSYM_TOM
DROPSYMMETRICKEYSYM_TOM
DROPCERTIFICATETOMCERT;
DROPMASTERKEY;
--或--
=AES_256ENCRYPTIONBYPASSWORD='ZXC123456'
='ZXC123456'
SELECTCONVERT(VARCHAR(10),Decryptbykey(Encryptbykey(Key_guid('ZXC'),'YHDH_C')))
CLOSESYMMETRICKEYZXC;
DROPSYMMETRICKEYZXC;
/*
2.利用非对称密钥
搭配EncryptByAsymKey进行数据加密
使用DecryptByAsymKey函数进行解密
用于更高安全级别的加解密数据
*/
='XIAOMA'
=RSA_2048ENCRYPTIONBYPASSWORD='ZXC123456'
(DECRYPTIONBYPASSWORD='ZXC123456')
SELECTCONVERT(VARCHAR(100),Decryptbyasymkey(Asymkey_id('ABC'),Encryptbyasymkey(Asymkey_id('ABC'),'ZXC123456')))
DROPASYMMETRICKEYABC;
DROPMASTERKEY
/*
3.利用凭证的方式
搭配EncryptByCert进行加密
DecryptByCert函数进行解密
比较类似非对称密钥
*/
='XIAOMA'
='ZXCCERTIFICATE',EXPIRY_DATE='2015/01/01'
SELECTCONVERT(VARCHAR(20),Decryptbycert(Cert_id('ZXC'),Encryptbycert(Cert_id('ZXC'),'123456')))
DROPCERTIFICATEZXC;
DROPMASTERKEY
--或--
='Mary5',
SECRET='123456';
ALTERLOGINUser1
ADDCREDENTIALAlterEgo
DropCREDENTIALAlterEgo
DROPCREDENTIALAlterEgo
/*
4.利用密码短语方式
搭配EncryptBypassPhrase进行加密
使用DecryptByPassPhrase函数来解密
比较适合一般的数据加解密
*/
SELECTCONVERT(VARCHAR(100),Decryptbypassphrase('xiaoma',Encryptbypassphrase('xiaoma','123456')))