使用Java对字符串进行MD5加密以及验证

这篇博客介绍了如何在Java中使用MD5算法对字符串进行加密和验证。通过创建MessageDigest实例,更新密码字符串并计算摘要,再将摘要转换为16进制字符串进行保存。在验证过程中,从数据库获取摘要,将其转换回原始形式,然后比较与新计算的MD5摘要是否一致。
摘要由CSDN通过智能技术生成

前几天在Domino中用了Java代理写了一个采用MD5对字符串进行加密以及验证的简单功能。

 

参考文章: 

1. JAVA上加密算法的实现用例:http://www-128.ibm.com/developerworks/cn/java/l-security

 

实现过程如下:

 

1.对密码字符串进行加密:

首先用生成一个MessageDigest类:MessageDigest alg= MessageDigest.getInstance("MD5");

添加要进行计算摘要的信息:alg.update(password.getBytes());         //其中password为密码字符串

计算出摘要:byte[] digest=alga.digest();

然后将摘要转换成16进制:byte2hex(digest)

         /*

          * 二进制转换为十六进制字符串

          *

          * @param b 二进制数组 @return 十六进制字符串

          */

         private static String byte2hex(byte[] bytes) {

                   String hs = "";

                   String stmp = "";

                   for (int i = 0; i < bytes.length; i++) {

                            stmp = (java.lang.Integer.toHexString(bytes[i] & 0XFF));

                            if (stmp.length() == 1)

                                     hs = hs + "0" + stmp;

                            else

                                     hs = hs + stmp;

                   }

                   return hs.toUpperCase();

         }将生成的16进制摘要保存到数据库中。

 

2. 验证:

获取输入的验证密码:password=doc.getItemVa

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值