
--以下代码包括创建密钥,加密,解密和删除密钥
/
1利用对称密钥
搭配EncryptByKey进行数据加密
使用DecryptByKey函数进行解密
这种方式比较适合大数据量
/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE CERTIFICATE TOMCERT WITH SUBJECT = 'ZXC CERTIFICATE', EXPIRY_DATE = '2015/01/01'
CREATE SYMMETRIC KEY SYM_TOM WITH ALGORITHM = DESX ENCRYPTION BY CERTIFICATE TOMCERT
OPEN SYMMETRIC KEY SYM_TOM DECRYPTION BY CERTIFICATE TOMCERT
SELECT CONVERT(NVARCHAR(10), Decryptbykey(( Encryptbykey(Key_guid('SYM_TOM'), N'TOM3') )))
CLOSE SYMMETRIC KEY SYM_TOM
DROP SYMMETRIC KEY SYM_TOM
DROP CERTIFICATE TOMCERT;
DROP MASTER KEY;
--或--
CREATE SYMMETRIC KEY ZXC WITH ALGORITHM = AES_256 ENCRYPTION BY PASSWORD = 'ZXC123456'
OPEN SYMMETRIC KEY ZXC DECRYPTION BY PASSWORD = 'ZXC123456'
SELECT CONVERT(VARCHAR(10), Decryptbykey(Encryptbykey(Key_guid('ZXC'), 'YHDH_C')))
CLOSE SYMMETRIC KEY ZXC;
DROP SYMMETRIC KEY ZXC;
/
2利用非对称密钥
搭配EncryptByAsymKey进行数据加密
使用DecryptByAsymKey函数进行解密
用于更高安全级别的加解密数据
/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE ASYMMETRIC KEY ABC WITH ALGORITHM=RSA_2048 ENCRYPTION BY PASSWORD = 'ZXC123456'
ALTER ASYMMETRIC KEY ABC WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'ZXC123456')
SELECT CONVERT(VARCHAR(100), Decryptbyasymkey (Asymkey_id('ABC'), Encryptbyasymkey(Asymkey_id ('ABC'), 'ZXC123456')))
DROP ASYMMETRIC KEY ABC;
DROP MASTER KEY
/
3利用凭证的方式
搭配EncryptByCert进行加密
DecryptByCert函数进行解密
比较类似非对称密钥
/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE CERTIFICATE ZXC WITH SUBJECT = 'ZXC CERTIFICATE', EXPIRY_DATE = '2015/01/01'
SELECT CONVERT(VARCHAR(20), Decryptbycert(Cert_id('ZXC'), Encryptbycert(Cert_id('ZXC'), '123456')))
DROP CERTIFICATE ZXC;
DROP MASTER KEY
--或--
CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'Mary5',
SECRET = '123456';
ALTER LOGIN User1
ADD CREDENTIAL AlterEgo
Drop CREDENTIAL AlterEgo
DROP CREDENTIAL AlterEgo
/
4利用密码短语方式
搭配EncryptBypassPhrase进行加密
使用DecryptByPassPhrase函数来解密
比较适合一般的数据加解密
/
SELECT CONVERT(VARCHAR(100), Decryptbypassphrase('xiaoma', Encryptbypassphrase('xiaoma', '123456')))
安华金和数据库加密的技术方案主要有三种种:包括前置代理、应用加密和后置代理。前置代理的技术思路就是在数据库之前增加一道安全代理服务,对数据库访问的用户都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略;然后安全代理服务通过数据库的访问接口实现数据在O中的最终存储。
安华金和数据库加密 应用层加密方案的主要技术原理是:
(1) 应用系统通过加密API(JDBC,ODBC,C API等)对敏感数据进行加密,将加密数据存储到Oracle数据库中;
(2)
在进行数据检索时,将密文数据取回到客户端,再进行解密;
(3) 应用系统将自行管理密钥。
后置代理的基本技术路线是使用“视图”+“触发器”+“扩展索引”+“外部调用”的方式实现数据加密,同时保证应用完全透明。
该方案的核心思想是充分利用数据库自身应用定制扩展能力,分别使用其触发器扩展能力、索引扩展能力、自定义函数扩展能力以及视图等技术来满足数据存储加密,加密后数据检索,对应用无缝透明等最主要需求。后置代理方案的核心目标包括:A、实现在数据库中敏感数据的按列加密;B、对应用提供透明的加密数据访问;C、为加密数据提供高效的索引访问;D、实现独立于数据库的权限控制;E、调用国产的加密算法。
目前在国内安华金和的数据库加密产品是最成熟的,已经广泛应用于运营商、中央部委等大型系统上。
可以的,可以通过MD5加密数据库里面的数据
他的原理就是,通过客户端浏览器传递字符串到ASP或PHP,然后ASP通过取出数据库里面的MD5加密后的字符串,最后通过MD5命令解密,,要提醒你的就是MD5加密是不可逆转的
c#md5加密,解密
>
好像没这东西
你在编程语言中实现把
这种情况我都是用MD5加密
虽然你不想听理论。。。我也懒得写代码。。。
1、把用户的密码用MD5改变成32个字符
2、将这字符串写到数据库里
3、判断密码是否正确的时候,把用户输入的密码在用MD5改变成32个字符、判断这字符串和数据库中字符串是否相同
下面是JAVA的MD5用法
import javasecurityMessageDigest;
public class MD5 {
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
//将字节数组转换为十六进制字符串
private static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < blength; i++) {
resultSbappend(byteToHexString(b[i]));
}
return resultSbtoString();
}
//将字节转换为十六进制字符
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString = new String(origin);
//MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法
MessageDigest md = MessageDigestgetInstance("MD5");
resultString = byteArrayToHexString(mddigest(resultString
getBytes("GBK")));
} catch (Exception ex) {
}
return resultString;
}
public static void main(String[] args)
{
Systemoutprintln(MD5MD5Encode("admin"));
Systemoutprintln(MD5MD5Encode("密码内容"));
}
}
(一)更改文件的扩展名(也称:后缀名)给文件加密
文件名是由文件的名字和扩展名组成的,以 (小实点)为分界线, 之前是文件的名字,之后是文件的扩展名。文件扩展名是用来区分文件的属性的。
利用更改文件的扩展名给文件加密,只适用于单个的文件,不能用于文件夹!更改之前首先要使你的电脑显示文件的扩展名,怎么显示文件的扩展名名呢?具体见下:
1随便打开某个文件夹,点击工具栏中的→工具→文件夹选项→查看→隐藏已知类型文件的扩展名(把勾去掉,显示扩展名)→点确定 就OK了
2打开我的电脑→工具→文件夹选项→查看→去掉隐藏已知文件类型的扩展名前面的勾→点确定。
3路径:开始→设置→控制面板→文件夹选项→查看
在查看的高级设置的列表中,将“隐藏已知文件类型的扩展名”的默认对号除去,并点“确定”后就可以显示文件的拓展名了。
怎么样更改文件的后缀名呢?首先找到你想加密的单个文件,例如我想加密下列文件
把 私密视频 文件更改成一个批处理文件bat ,在私密视频上右键单击→重命名,把rmvb更换成bat,当然你也可以把文件的名字根据自己的爱好换一下,如把“私密视频”换成“good”,那么这个文件就变成了(并同时出现一个对话框)
点“是”,就会变成一个批处理文件
利用更改文件扩展名给文件加密,就完成了,你可以把复制到任何磁盘任何文件夹下(包括所有的程序文件里),当然原来的文件扩展名你一定要记住。其他文件你也按这种方法更改,你想再看这些加密文件时候,按相同的方法更改回来就可以了。
(二)办公软件的加密
1、 Word文件
要给Word文件加密,先打开需加密的文件,点击“工具”菜单→“选项”,d出“选项”对话框,选择“安全性”按钮。在“打开权限密码”和“修改权限密码”输入框中键入密码。(中间还会提示你再提示输入一遍密码,以便“确认”)如下图:需要说明一下的是前者密码是用来打开文件的,如果没有这个密码,文件是打不开的。后者是在前者基础上设置是否打开者有权利修改文件,如果没有则只能阅读,而不能修改内容,要想修改必须输入“修改权限密码”。
2、Excel文件
Excel文件加密方式与Word文件不同,当你编辑完文件时,点击“文件”菜单→“另存为”,d出“另存为”对话框,
再点击“另存为”对话框中工具栏上的“工具”按钮,d出下拉菜单,选择“常规选项”,在d出的设置窗口中输入打开密码和修改密码。(中间还会提示你再提示输入一遍密码,以便“确认”)
点击确定,保存即可!(注意:需要说明一下的是前者密码是用来打开文件的,如果没有这个密码,文件是打不开的。后者是在前者基础上设置是否打开者有权利修改文件,如果没有则只能阅读,而不能修改内容,要想修改必须输入“修改权限密码”。)
3、Access文件
Access数据库文件的加密按以下步骤进行:
⑴关闭数据库。如果数据库在网络上共享,要确保所有其他用户关闭了该数据库。
⑵为数据库复制一个备份并将其存储在安全的地方。
⑶单击“文件”菜单中的“打开”命令。
⑷单击“打开”按钮右侧的箭头,然后单击“以独占方式打开”。
⑸单击“工具”菜单“安全”子菜单上的“设置数据库密码”命令。
⑹在“密码”框中,键入自己的密码。密码是区分大小写的。
⑺在“验证”框中,再次键入密码以进行确认,然后单击“确定”按钮。 这样密码即设置完成。下一次打开数据库时,将显示要求输入密码的对话框。
4、WPS Office文件
金山公司的WPS文件加密非常简单,只需点击“文件”菜单→“另存为”,d出对话框,勾选“文件加密”复选框,又d出“设置密码”对话框。首先在文本框中输入密码,然后选择加密类型,其中“普通型加密”适用于大多数情况,而“绝密型加密”则适用于对保密要求较高的情况。而且据金山公司称,他们可以帮助客户解除利用“普通型加密”方式加密的文件,而利用“绝密型加密”方式加密的文件他们也无能为力,因此注意保存好密码。
(三)利用压缩文件加密
利用压缩文件加密,该文件即可以是单个文件也可以是文件夹。如果密码是字符、数字等混用并且密码较长,几乎无法破解,所以安全性很高!
1、利用Winzip 给文件加密:
Winzip是最流行的压缩和解压缩软件,当然它也提供了非常简单的加密功能。 首选新建一个空白的压缩文件,在压缩文件里添加需压缩的文件。点击“Option”菜单中的“Password”命令,d出密码设置窗口,在文本框中输入设置的密码。当你输入时,希望文本框的密码不可见,请选上“Mask Password”复选框。
2、利用Winrar给文件加密:
利用WinRAR可以绝对安全地为你的数据加密。大家一提起WinRAR,总是会想到它强大的压缩功能,其实,WinRAR的加密功能同样很强大。WinRAR采用的是单向加密,而单向加密是不可能被破解的。因此,如果我们需要保护隐私,只要把这些隐私文件压缩成一个包,并且加上密码,就绝对安全了。任何黑客和电脑高手都不可能窃取到你的隐私。
下面就介绍如何用Winrar给文件加密?例如我想给一个名字是“我的文件”的文件夹加密:鼠标右键单击该文件夹→d出右键快捷菜单→点“添加到压缩文件(A)”→d出“压缩文件名和参数”对话框
这里压缩文件格式默认为RAR(R),当然你也可以选择zip(Z);然后点→高级→设置密码(p)→d出“带密码压缩对话框”
这里默认为显示密码,当然你也可以把“显示密码”前的勾去掉,这样你必须输入2次密码,所以我建议选择“显示密码”;输入自己的密码后,点“确定”,返回“压缩文件名和参数”对话框,再点“确定”,就开始进行文件压缩过程,压缩完毕
提示:
A:请你牢记密码,必要时保存密码。要想打开该文件,你可以双击或者右键单击解压,但你必须输入密码后才能解压,并查看文件!
B:如果你设置了“加密文件名选项”,WinRAR 不只加密数据,而且加密象文件名、大小、属性、注释和其它数据块等所有的压缩包敏感区域,这样它提供了更高的安全等级。在使用这个命令加密的压缩包中,没有密码甚至连文件列表都不能查看。这个选项只有在把数据压缩成 RAR 压缩包时才有意义,在使用默认密码解压缩数据或压缩成 ZIP 格式时,它将被忽略。
C:WinRAR 支持 ZIP 20 格式使用私有加密算法。 RAR 压缩文件使用更强大的 AES-128 标准加密。如果你需要加密重要的信息,选择 RAR 压缩文件格式会比较好一些。为了确实的安全性,密码长度请最少要 8 个字符。不要使用任何语言的单词作为密码,最好是任意的随机组合字符和数字,并且要注意密码的大小写。请记住,如果你遗失你的密码,你将无法取出加密的文件,就算是 WinRAR 的作者本身也无法解压加密过的文件。
(四)利用NTFS分区加密
利用NTFS分区加密文件,首先你的磁盘文件系统必须是NTFS的。现在主流的文件系统有FAT32和NTFS(查看自己文件系统的方法:打开我的电脑→在C盘上右键单击→属性→看“文件系统”),如果是FAT32,要将文件夹所在盘的文件系统改为NTFS。具体转换步骤如下:
步骤一:在“开始”--“运行”中输入“CMD”确认后打开命名提示符,在命令提示符中输入“convert c:/fs:ntfs”(注意convert和c:/fs:ntfs中有一个空格,不区分大小写)(如图)其中convert后的c:/就表示你要转换的是c盘,也就是说,当你要转换E盘时就输入convert c:/fs:ntfs,e、f盘以此类推。
步骤二:确认后出现请你输入要转换驱动器的当前卷标,即为该盘的名称,例如某E盘的卷标是“学习”。
步骤三:确认后如果要转换的盘没有在使用,则自动开始转换,如果在使用中,则显示“由于该卷整在被另一个过程使用,“转换”不能运行……要强制卸下该卷(y/n)” 你可以选择Y,确认。
步骤四:确认后出现另一个提示,同样选Y,确认,在下一次启动后。
注意:FAT32转换为NTFS容易,按上面的方法做就行了,但NTFS转回FAT32就不那么好玩了,所以在转化之前先考虑好是否真的有这个必要。
利用NTFS分区给文件加密:
一:借用NTFS格式文件的加密属性给文件夹加密
右击你要保护的文件夹—“属性”—“高级”,打开“高级属性”,将“加密内容以便保护数据”勾上后一直确认即可,这样你所要加密的文件夹名变成了绿色了,这样该机其他用户就看不到文件夹里的内容了。
注意:用这种方法加密一旦系统崩溃,那整个文件夹就废了,所以要谨慎使用
二:分配文件夹的用户权限
在NTFS格式下,文件夹选项默认的“使用简单的文件共享(推荐)”是勾选的,但这会影响文件夹属性的安全选项的使用,所以我们的步骤一就是把勾选去掉,工具—文件夹选项—查看
步骤二确认后,右击要保护的文件夹—属性—安全,就可以设置权限了
确认后就可以防止其他用户访问该文件夹了。
(五)建一个别人无法删除和无法打开的文件夹
①如何建立这样的文件夹?
1、首先:点电脑左下角的开始→运行→在运行中输入cmd →点确定或者回车→打开命令行窗口
2、在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘 输入:md d:\123\ 回车。如下图(注意:要在md和d之间空一格;文件夹名后有2个小数点并且是小实点;\ 注意它的倾斜方向以便在键盘上找到相应的输入键),还有哦,文件名你也可以自己命,不一定是123这样的数字,也可以是其他字母和字符,但是不能用汉字命名,并且一定记得文件名后面要加上两个小数点。
3、你去看看你D盘里是不是多了一个123的文件夹
双击看看是不是打不开
②如何打开名字是123的文件夹?
1、第一步是一样的:开始→运行→在运行中输入cmd→回车或着点确定,打开命令行窗口
2、在命令行窗口中输入 start d:\123\ ( 注意这里一定要是文件夹的绝对路径哦,start和d空一格,否则无法打开即可打开此文件夹,其实也就是在你文件夹所在路径前加一个start )
3、回车后这个文件夹自动就打开了,这样你就可以随心所欲的把不想让别人看到的资料放进去啦!就可以进行文件的命名、复制、粘贴、删除等的 *** 作了。
③如何删除该123文件夹?
1、第一步是一样的:如果123的文件夹中有文件,必须先把123的文件夹的所有文件删除或者剪切出来,也就是说123文件夹中不能有任何文件,才确保删除成功!切记!!!
2、第二步是一样的:开始→运行→在运行中输入cmd→回车或着点确定,打开命令行窗口
3、在命令窗口输入rd d:\123\回车就可以了,你在看D盘中就没有该文件夹了! (注意:rd和d之间空一格)
④如何更快打开123文件?
1、新建一个文本文档。
2、在文本内输入上面的命令:start d:123,然后保存退出。
3、将刚才的TXT文本重命名为XXXbat (也就是更改扩展名)xxx表示你随便输入的文件名字。以后要进入这个文件夹,只要双击XXXbat这个文件就可以了
数据库加密的方式从最早到现在有4种技术,首先是前置代理加密技术,该技术的思路是在数据库之前增加一道安全代理服务,所有访问数据库的行为都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略,安全代理服务通过数据库的访问接口实现数据存储。安全代理服务存在于客户端应用与数据库存储引擎之间,负责完成数据的加解密工作,加密数据存储在安全代理服务中。
然后是应用加密技术,该技术是应用系统通过加密API对敏感数据进行加密,将加密数据存储到数据库的底层文件中;在进行数据检索时,将密文数据取回到客户端,再进行解密,应用系统自行管理密钥体系。
其次是文件系统加解密技术,该技术不与数据库自身原理融合,只是对数据存储的载体从 *** 作系统或文件系统层面进行加解密。这种技术通过在 *** 作系统中植入具有一定入侵性的“钩子”进程,在数据存储文件被打开的时候进行解密动作,在数据落地的时候执行加密动作,具备基础加解密能力的同时,能够根据 *** 作系统用户或者访问文件的进程ID进行基本的访问权限控制。
最后后置代理技术,该技术是使用“视图”+“触发器”+“扩展索引”+“外部调用”的方式实现数据加密,同时保证应用完全透明。核心思想是充分利用数据库自身提供的应用定制扩展能力,分别使用其触发器扩展能力、索引扩展能力、自定义函数扩展能力以及视图等技术来满足数据存储加密,加密后数据检索,对应用无缝透明等核心需求。安华金和的加密技术在国内是唯一支持TDE的数据库加密产品厂商。
以上就是关于请问SQL怎么对数据进行加密全部的内容,包括:请问SQL怎么对数据进行加密、数据库怎么加密、数据库(或库中的表)可以加密吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)