java代码实现MD5加密及验证过程详解
人气:3MD5加密
在我们的程序中,不管是什么,都会有安全问题,今天就说的是MD5加密的方法
MD5是哈希算法,也就是 从明文A到密文B很容易,但是从密文B到明文A几乎不可能
也就是说,给你密文,是几乎无法通过解密来得到明文的。
这个一般用于存储密码。也就是数据库里存的是密文,管理员只能看到密文,而看不到明文。
在pom文件导入相关依赖
<!--MD5依赖--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.3.2</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency>
添加MD5工具类
import org.apache.commons.codec.digest.DigestUtils; public class Md5 { public final static String md5key = "Ms2"; /** * MD5方法 * @param text 明文 * @param key 密钥 * @return 密文 * @throws Exception */ public static String md5(String text, String key) throws Exception { //加密后的字符串 String encodeStr= DigestUtils.md5Hex(text + key); System.out.println("MD5加密后的字符串为:encodeStr="+encodeStr); return encodeStr; } /** * MD5验证方法 * @param text 明文 * @param key 密钥 * @param md5 密文 * @return true/false * @throws Exception */ public static boolean verify(String text, String key, String md5) throws Exception { //根据传入的密钥进行验证 String md5Text = md5(text, key); if(md5Text.equalsIgnoreCase(md5)) { System.out.println("MD5验证通过"); return true; } return false; } }
简单说一下里面的md5方法和verify方法
md5方法
- 方法说明:加密明文
- 第一个传参的参数是需要加密的文字
- 第二个传参的参数是需要密钥
- 这个方法会return出加密后的MD5密文
verify方法
- 方法说明:将明文转密文,密文与密文进行比较,判断是否一致
- 第一个参数是明文
- 第二个参数是密钥
- 第三个参数是密文
- return 出判断结果
里面还有一个变量md5key 这个就是我们的密钥
通过这个密钥对明文进行加密
使用我们在使用这个方法时
要获取密钥可以直接调用这个变量
当然这个密钥也可以自己设置
这就是我们的MD5加密方法
您可能感兴趣的文章:
加载全部内容