使用MD5对明文密码进行加密
来源:互联网 发布:淘宝网店申请多少钱 编辑:程序博客网 时间:2024/05/17 01:44
通常情况下,我们不希望任何人知道我们的密码。
当我们创建了用户以后,我们的个人信息将会存储在服务器数据库中,如果有人可以访问数据库,便可以轻易的拿到我们的用户名和密码等一系列重要数据。为防止这种情况,我们可以使用加密的方式对密码进行加密。
以下是StringUtils工具类,创建出来以后我们可以调用encrypt方法将password传入,并接受返回出来的心得newPassword,然后将newPassword存入数据库中,当登录时,则是转换后的newPassword跟数据库中保存的password比较,即便系统管理员查看了数据库中的用户信息,也无法根据保存的password计算出我们登录时所填写的密码。因此便增加了数据的安全性。
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class StringUtils {/** * Used by the hash method. */private static MessageDigest digest = null;/** * 利用MD5算法散列字符串作为一个十六进制数的字符串返回结果。 * @param data * @return */public synchronized static final String hash(String data) {if (digest == null) {try {digest = MessageDigest.getInstance("MD5");} catch (NoSuchAlgorithmException nsae) {System.err.println("Failed to load the MD5 MessageDigest. "+ "Jive will be unable to function normally.");}}// Now, compute hash.digest.update(data.getBytes());return encodeHex(digest.digest());}/** * 返回一个字符串的加密形式。 MD5 算法 */public static String encrypt(String originalStr) {if (originalStr == null) {originalStr = "";}return hash(originalStr);}/** * 将字节数组变成一个字符串,表示每个字节为一个无符号十六进制数。 * @param bytes * @return */public static final String encodeHex(byte[] bytes) {StringBuffer buf = new StringBuffer(bytes.length * 2);int i;for (i = 0; i < bytes.length; i++) {if (((int) bytes[i] & 0xff) < 0x10) {buf.append("0");}buf.append(Long.toString((int) bytes[i] & 0xff, 16));}return buf.toString();}}
0 0
- 使用MD5对明文密码进行加密
- C#:使用MD5对密码进行加密!
- 使用MD5对密码进行加密
- 使用MD5对密码进行加密
- 使用Md5算法对密码进行加密
- 使用md5算法对密码进行加密保存
- 使用MD5对密码进行加密的功能的实现
- java中使用MD5对密码进行加密
- Android 使用MD5对SharedPreferences密码进行加密
- Android中使用MD5对密码进行加密
- java中使用md5对密码进行加密
- MD5加密!对密码进行MD5加密和验证
- .net对密码进行MD5加密
- 对密码字段进行加密(MD5)
- 用java对密码进行MD5加密
- 用java对密码进行MD5加密
- MD5对密码进行加密处理机制
- 密码进行MD5加密
- 字符编码简介:ASCII,Unicode,UTF-8,GB2312及Unicode和UTF-8如何转化
- c 语言模块接口函数在main之前注册
- JUC源码分析14-集合-HashMap
- Dplus的玩法
- 例题 8-3 UVA - 1152 4 Values whose Sum is 0(和为0的4个值)(二分枚举)
- 使用MD5对明文密码进行加密
- 公司后台商品添加操作流程
- java 常用的几种排序方式
- 【JQ】jquery如何判断一个节点下面没有子节点方法整理
- android默认系统日期、时间、时区更改
- 图像处理-线性滤波-2 图像微分(1、2阶导数和拉普拉斯算子)
- treemap
- 快排代码示例
- linux(ubuntu14.04)+GPU+cuda6.5+caffe+openCV2.4.9+matlab2014a+python的新手配置