
一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1 sha256 md5等。
作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。即时你的数据库被拖库,得到的人,也无法知道用户密码。
为什么加盐
举例
在注册时,
假设你的密码是1234,一般服务器会加一个盐(随便一个乱打的字符串),和你的密码加在一起,1234和efnU(@#H!JKNF得到1234efnU(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到 91dc02c1fc2ce2252969e6b86173aa78,于是数据库里你的密码就变为了91dc02c1fc2ce2252969e6b86173aa78
登入时,
你输入1234, 然后服务器用和注册相同的步骤进行加密,得到加密后的值,91dc02c1fc2ce2252969e6b86173aa78,将这个值与数据库的加密值比对,如果正确则登入。
字符对照表,加密
按下列方式找加密规律
明文 密文
1 8
11 8f
111 8fk
2
3
4
12
13
14
给文件加密,你可以在百度上下载超级加密3000 这是一款功能强大的文件和文件夹加密和保护软件。
超级加密3000有超快和最强的文件、文件夹加密功能、数据保护功能,文件夹、文件的粉碎删除以及文件夹伪装等功能。
超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。
超级加密3000还支持加密文件的临时解密,文件加密后,双击加密文件,在d出密码输入对话框输入正确的密码选择确定,该加密文件就处于临时解密,文件使用完毕退出以后,它自动恢复到加密状态,无需再加密。
超级加密3000是一款不可多得的文件加密软件,您可以到百度上搜索超级加密3000给您的文件加密试试看。
你用hibernate的话,一般情况下也会用struts2的,你可以在action里写一个MD5算法,人,在调用,如
/
@MD5加密算法
/
public static String digestByMD5(String str) throws Exception {
// 采用MD5加密算法,将任意长度字符串加密
MessageDigest md = MessageDigestgetInstance("MD5");
byte[] bts = mddigest(strgetBytes());
// 采用Base64算法,将加密后的字节变成字符串
BASE64Encoder encoder = new BASE64Encoder();
return encoderencode(bts);
}
以上就是关于数据库里加密的密码是怎么实现的全部的内容,包括:数据库里加密的密码是怎么实现的、数据库字段加密算法、请问怎么对Sqlite数据库文件进行加密存储等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)