Java常用类库API之MD5简单使用
常用类库--MD5简单使用
MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
在JavaEE中用于密码校验,JavaWeb编程中使用得多。
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import org.junit.Test;
public class MD5 {
	private static String savedPwd = "pmq7VoTEWWLYh1ZPCDRujQ==";// 存储的密文
	public static void main(String[] args) {
		// 将明文密码admin123456加密
		System.out.println(md5Encryption("admin123456"));
		// 测试登录
		System.out.println(loginByRightPwd("admin123456"));
	}
	public static boolean loginByRightPwd(String pwd) {
		if (savedPwd.equals(md5Encryption(pwd))) {
			return true;
		} else {
			return false;
		}
	}
	/**
	 * 计算md5的工具方法
	 * @param password
	 * @return 加密后的密码
	 */
	@Test
	private static String md5Encryption(String password) {
		try {
			MessageDigest md = MessageDigest.getInstance("md5");
			// 通过md5计算摘要,返回一个字节数组
			byte[] bytes = md.digest(password.getBytes("UTF-8"));
			// 再将字节数编码为用a-z A-Z 0-9 / *一共64个字符表示的要存储到数据库的字符串,所以又叫BASE64编码算法
			String str = Base64.getEncoder().encodeToString(bytes);
			return str;
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return null;// 发生异常返回空
	}
}
输出结果:

Java常用类库API之MD5简单使用的更多相关文章
- Java常用类库API之数字处理工具类
		
数字处理工具类BigDecimal和DecimalFormat Java提供的java.text.DecimalFormat类,帮助我们用最快的速度将数据格式化为我们想要的样子.例如,取两位小数 im ...
 - Google的Java常用类库 Guava资料
		
java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...
 - JAVA(三)JAVA常用类库/JAVA IO
		
成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...
 - [Windows Phone]常用类库&API推荐
		
原文 [Windows Phone]常用类库&API推荐 简介: 把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结 ...
 - Java 常用类库与技巧【笔记】
		
Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...
 - 谈谈Java常用类库中的设计模式 - Part Ⅰ
		
背景 最近一口气看完了Joshua Bloch大神的Effective Java(下文简称EJ).书中以tips的形式罗列了Java开发中的最佳实践,每个tip都将其意图和要点压缩在了标题里,这种做法 ...
 - JAVA常用类库简介(转)
		
Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的 ...
 - Java常用类库2
		
1.java.util.Date类 package LESSON9; import java.util.Date; public class demo1 { public static void ma ...
 - 菜鸡的Java笔记 - java 常用类库
		
CommonClassLibrary 常用类库 定时调度 定时调度指的是每到一个时刻,都会自动的产生某些特定的操作形式 con ...
 
随机推荐
- Java 什么是守护线程
			
前言 守护线程(即daemon thread),是个服务线程,准确地来说就是服务其他的线程,这是它的作用——而其他的线程只有一种,那就是用户线程.所以java里线程分2种, 1.守护线程,比如垃圾回收 ...
 - Linux 用户必须知道的 14 个常用 Linux 终端快捷键
			
简介:以下是一些每个 Linux 用户必须使用的键盘快捷键. 使用命令行时,这些 Linux 快捷键将提升你的工作效率和效率. 你知道什么把专业用户和普通用户分开的吗?掌握键盘快捷键. 好的!这虽不是 ...
 - commons-collections包中的常用的工具类
			
commons-collections包中的常用的工具类 <dependency> <groupId>commons-collections</groupId> & ...
 - 【洛谷P1310 表达式的值】
			
题目链接 题目描述 对于1 位二进制变量定义两种运算: 运算的优先级是: 先计算括号内的,再计算括号外的. “× ”运算优先于“⊕”运算,即计算表达式时,先计算× 运算,再计算⊕运算.例如:计算表达式 ...
 - mycat 配置简介
			
最近在看 mycat ,官网: http://www.mycat.io/ 上面就有 PDF 的教程下载.但是对于我这个初学者来讲,搭建环境的时候还是有点晕,下面从一个简单的例子来讲解相关配置.我用的 ...
 - 002-es5.4.3结合spring-data-elasticsearch3.0.0.0使用
			
一.使用前设置 1.elasticsearch开启 cmd下,进入安装目录 cd D:\developToool\elasticsearch-5.4.3 elasticsearch # 或者后台运行 ...
 - 002-js-cookie
			
cookie操作方法 1.写cookie //JS操作cookies方法! //写cookies function setCookie(name,value) { var Days = 30; var ...
 - 测开之路九十一:css常用的选择器
			
一:全局选择器:* 二:标签选择器,如给所有p标签加个背景色 三:id选择器:# ,如给id为id_01的元素加一个框 四:类选择器:. 如设置一个类选择器为blue,当有标签引用blue的时候,背景 ...
 - 解决旋转屏幕闪退在androidManifest.template.xml里,activity项添加:
			
解决旋转屏幕闪退在androidManifest.template.xml里,activity项添加:android:configChanges="orientation|keyboard ...
 - Linux-部署ftp
			
通过外部window ftp 客户端 访问linux 有两种方法 方法一:Linux系统未安装vsftp 服务 这个是本人使用的ftp客户端的版本号 启动ftp客户端,填写ip ,账号,密码 问题:当 ...