㈠ 数据库加密有几种
mysql数据库的认证密码有两种方式,
mysql
4.1版本之前是mysql323加密,mysql
4.1和之后的版本都是mysqlsha1加密,
mysql数据库中自带old_password(str)和password(str)函数,它们均可以在mysql数据库里进行查询,前者是mysql323加密,后者是mysqlsha1方式加密。
(1)以mysql323方式加密
select old_password('111111');
(2)以mysqlsha1方式加密
select
password('111111');
mysql323加密中生成的是16位字符串,而在mysqlsha1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说mysqlsha1加密的密码的实际位数是40位。
㈡ 数据库表可否进行加密为什么(列出语句解释)
只研究过某一列进行加密,表怎么加密没研究过,比如经常行的,保存用户密码的时候,一定要加密后在保存,现在最就行的加密算法就是md5加密。而且也不明白为什么要把数据库表加密,如果表加密了,那么试图是否加密?函数是否加密?甚至整个库是否加密?
㈢ 现在数据库加密的方式有哪几种
数据库加密的方式从最早到现在有4种技术,首先是前置代理加密技术,该技术的思路是在数据库之前增加一道安全代理服务,所有访问数据库的行为都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略,安全代理服务通过数据库的访问接口实现数据存储。安全代理服务存在于客户端应用与数据库存储引擎之间,负责完成数据的加解密工作,加密数据存储在安全代理服务中。
然后是应用加密技术,该技术是应用系统通过加密API对敏感数据进行加密,将加密数据存储到数据库的底层文件中;在进行数据检索时,将密文数据取回到客户端,再进行解密,应用系统自行管理密钥体系。
其次是文件系统加解密技术,该技术不与数据库自身原理融合,只是对数据存储的载体从操作系统或文件系统层面进行加解密。这种技术通过在操作系统中植入具有一定入侵性的“钩子”进程,在数据存储文件被打开的时候进行解密动作,在数据落地的时候执行加密动作,具备基础加解密能力的同时,能够根据操作系统用户或者访问文件的进程ID进行基本的访问权限控制。
最后后置代理技术,该技术是使用“视图”+“触发器”+“扩展索引”+“外部调用”的方式实现数据加密,同时保证应用完全透明。核心思想是充分利用数据库自身提供的应用定制扩展能力,分别使用其触发器扩展能力、索引扩展能力、自定义函数扩展能力以及视图等技术来满足数据存储加密,加密后数据检索,对应用无缝透明等核心需求。安华金和的加密技术在国内是唯一支持TDE的数据库加密产品厂商。
㈣ 如何将整个数据库加密
不知道楼主想要的是不是openssl,https。对数据库加密意义不大吧。
㈤ 数据库加密与文档加密的区别是什么
安华金和做数据安全起家,在加密技术上有自己的见解,我先来说说,你也可以咨询他们,其实针对文件加密的非数据库加密产品,基本上是无法用于数据库加密的,主要原因是打开加密的文件时需要输入加密密码,而数据库在对数据库文件进行读写时是没有机会输入密码的。文件加密的非数据库加密产品还另外两个明显缺陷,对数据库性能影响较大,不具备针对数据库用户的独立于数据库原生权控体系的增强型权限控制能力。要是底层防守的话还是需要上数据库加密产品~如果认可我的回答,希望能帮忙采纳下
㈥ 如何实现对数据库单个字段进行加密
插入加密数据:
1、INSERT INTO userdata(username,pasword,encryptedpassword)
2、VALUES ('smith','htims',AES_ENCRYPT('htims','key'))
上面的插入语句有三个字段,“用户名”、“密码”和“加密的密码”。
AES_ENCRYPT()函数需要一个“key”来协助加密,同样,解密也需要它。
从表中查询加密数据
1、SELECT username,pasword,AES_DECRYPT(encryptedpassword,'key')
2、FROM userdata.
㈦ 数据库如何实现字段加密
好像没这东西
你在编程语言中实现把
这种情况我都是用MD5加密
虽然你不想听理论。。。我也懒得写代码。。。
1、把用户的密码用MD5改变成32个字符
2、将这字符串写到数据库里
3、判断密码是否正确的时候,把用户输入的密码在用MD5改变成32个字符、判断这字符串和数据库中字符串是否相同
下面是JAVA的MD5用法
import java.security.MessageDigest;
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 < b.length; i++) {
resultSb.append(byteToHexString(b[i]));
}
return resultSb.toString();
}
//将字节转换为十六进制字符
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 = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString
.getBytes("GBK")));
} catch (Exception ex) {
}
return resultString;
}
public static void main(String[] args)
{
System.out.println(MD5.MD5Encode("admin"));
System.out.println(MD5.MD5Encode("密码内容"));
}
}
㈧ 怎么对数据库已有的数据进行加密
第一层 服务主密钥 备份服务主密钥
backup service master key to file='c:\smk.bak'
encryption by password='P@ssw0rd'
restore service master key from file='c:\smk.bak'
decryption by password='P@ssw0rd'
第二层 数据库主密钥
1)必须先在该数据库上创建数据库主密钥才能使用
create master key encryption by password='P@ssw0rd'
2)使用数据库主密钥
-如果数据库主密钥使用服务密钥进行保护,则在使用时会自动打开
opren master key decryption by password='P@ssw0rd'
3)查看数据库主密钥状态
sys.symmetric_keys
4)备份数据库主密钥
backup master key to file='c:\smk.bak'
encryption by password='P@ssw0rd'
restore master key from file='c:\smk.bak'
decryption by password='P@ssw0rd'
㈨ 如何在mysql数据库中加入加密算法,使得数据库能够对数据库中的数据进行加密。
没有用过mysql加密,但一般都是用服务端语言把数据加密后存入数据库中,比如,在PHP里用md5函数把用户的密码加密之后存入数据中,一般都 是这么解决的。
㈩ 数据库怎么加密
数据库加密作为近年来兴起的数据库安防技术,已经被越来越多的人所重视。这种基于存储层加密的防护方式,不仅可以有效解决数据库明文存储引起的泄密风险,也可以防止来自内部或者外部的入侵及越权访问行为。从技术手段上来看,现今数据库加密技术主要有三大类,分别是前置代理及加密网关方式、应用层加密方式以及后置代理方式,其中后置代理技术有有两种不同的技术路线,分别为:基于视图和触发器的后置代理技术和基于TDE技术的加密技术。你与安华金和了解下吧,以前他们还专门有过相关文章介绍。