Java语言描述MD5加密工具类实例代码

编程中经常有用到MD5加密的情况,Java语言并没有像PHP一样提供原生的MD5加密字符串的函数,需要MD5加密的时候,往往需要自己写。

代码如下:

import java.security.MessageDigest;
public class MD5 {
	//公盐
	private static final String PUBLIC_SALT = "demo" ;
	//十六进制下数字到字符的映射数组
	private final static String[] hexDigits = {"0", "1", "2", "3", "4",
	  "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
	/**
  * 用户密码加密,盐值为 :私盐+公盐
  * @param password 密码
  * @param salt 私盐
  * @return MD5加密字符串
  */
	public static String encryptPassword(String password,String salt){
		return encodeByMD5(PUBLIC_SALT+password+salt);
	}
	/**
  * md5加密算法
  * @param originString
  * @return
  */
	private static String encodeByMD5(String originString){
		if (originString != null){
			try{
				//创建具有指定算法名称的信息摘要
				MessageDigest md = MessageDigest.getInstance("MD5");
				//使用指定的字节数组对摘要进行最后更新,然后完成摘要计算
				byte[] results = md.digest(originString.getBytes());
				//将得到的字节数组变成字符串返回
				String resultString = byteArrayToHexString(results);
				return resultString.toUpperCase();
			}
			catch(Exception ex){
				ex.printStackTrace();
			}
		}
		return null;
	}
	/**
  * 转换字节数组为十六进制字符串
  * @param  字节数组
  * @return 十六进制字符串
  */
	private static String byteArrayToHexString(byte[] b){
		StringBuffer resultSb = new StringBuffer();
		for (int i = 0; i < b.length; i++){
			resultSb.append(byteToHexString(b[i]));
		}
		return resultSb.toString();
	}
	/** 将一个字节转化成十六进制形式的字符串  */
	private static String byteToHexString(byte b){
		int n = b;
		if (n < 0)
		   n = 256 + n;
		int d1 = n / 16;
		int d2 = n % 16;
		return hexDigits[d1] + hexDigits[d2];
	}
}

总结

以上就是本文关于Java语言描述MD5加密工具类实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他Java相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • java中加密的实现方法(MD5,MD2,SHA)
  • Java MD5加密(实例讲解)
  • java 实现MD5加密算法的简单实例
  • 基于Java语言MD5加密Base64转换方法
  • java 中 MD5加密的实例
  • java实现MD5加密的方法小结
  • Java文件读取写入后 md5值不变的实现方法
  • java利用Apache commons codec进行MD5加密,BASE64加密解密,执行系统命令
(0)

相关推荐

  • java 实现MD5加密算法的简单实例

    java 实现MD5加密算法的简单实例 实现代码: import java.security.NoSuchAlgorithmException; public class MD5HashUtil { private MessageDigest md = null; private static MD5HashUtil md5 = null; private static final char[] hexChars ={'0','1','2','3','4','5','6','7','8','9'

  • 基于Java语言MD5加密Base64转换方法

    本文提供了基于MD5加密16位和32位的方法,具体内容如下 import java.io.IOException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /** * <p>标题:编码工具类

  • java利用Apache commons codec进行MD5加密,BASE64加密解密,执行系统命令

    编写代码之前先来介绍一下我们要用到的两个包; commons-codec-1.10.jar Commons项目中用来处理常用的编码方法的工具类包,例如DES.SHA1.MD5.Base64,URL,Soundx等等. commons-exec-1.3.jar Apache Commons Exec 是 Apache 上的一个 Java 项目,提供一些常用的方法用来执行外部进程 你可以到本站直接下载 Apache Commons 官方包 下面看一下代码结构: import org.apache.c

  • java实现MD5加密的方法小结

    本文实例讲述了java实现MD5加密的方法.分享给大家供大家参考,具体如下: private String getMD5Str(String str) { MessageDigest messageDigest = null; try { messageDigest = MessageDigest.getInstance("MD5"); messageDigest.reset(); messageDigest.update(str.getBytes("UTF-8")

  • Java文件读取写入后 md5值不变的实现方法

    假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: StringBuffer sb = new StringBuffer(); Reader rd = null; BufferedReader br = null; rd = new FileReader("E:/绮萝酶是女装的男孩子.html"); br = new BufferedReader(r

  • Java MD5加密(实例讲解)

    MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992). MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之

  • java中加密的实现方法(MD5,MD2,SHA)

    java中加密的实现方法(MD5,MD2,SHA) 实例代码:注释都很清楚, import java.security.MessageDigest; import javax.xml.bind.annotation.adapters.HexBinaryAdapter; public class Main { static String src = "Hello,sahadev!"; public static void main(String[] args) { MD5(); MD2(

  • java 中 MD5加密的实例

    java 中 MD5加密的实例 前言: 今天我来学习利用JAVA编程,通过MD5来实现加密,同时实现验证用户登录原理. 主要是 过程: 将原文的byte 文件通过 MD5加密完成 后.再将其转化为我们能看懂的密文(MD5生成的byte数据,我们无法识别) 主要代码如下 package techDemo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.ut

  • Java语言描述MD5加密工具类实例代码

    编程中经常有用到MD5加密的情况,Java语言并没有像PHP一样提供原生的MD5加密字符串的函数,需要MD5加密的时候,往往需要自己写. 代码如下: import java.security.MessageDigest; public class MD5 { //公盐 private static final String PUBLIC_SALT = "demo" ; //十六进制下数字到字符的映射数组 private final static String[] hexDigits =

  • PHP加密解密类实例代码

    关键代码如下所示: <?php function i_array_column($input, $columnKey, $indexKey=null){ if(!function_exists('array_column')){ $columnKeyIsNumber = (is_numeric($columnKey))?true:false; $indexKeyIsNull = (is_null($indexKey))?true :false; $indexKeyIsNumber = (is_n

  • 列举java语言中反射的常用方法及实例代码

    Java反射机制 一.什么是反射机制  简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字,     那么就可以通过反射机制来获得类的所有信息. 二.哪里用到反射机制  有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码,     Class.forName("com.mysql.jdbc.Driver.class").newInstance();但是那时候只知道那行代码是生成     驱动对象实例,并不知道

  • Android快速开发系列 10个常用工具类实例代码详解

    打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~在此感谢群里给我发项目中工具类的兄弟/姐妹~ 1.日志工具类L.java package com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ public class L { private L() { /* cannot be instantiated */ throw new UnsupportedOpe

  • Android常用正则表达式验证工具类(实例代码)

    东西不多,但一般项目够用了. public class RegularUtil { //身份证 public static final String REGEX_ID_CARD = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$"; //验证邮箱 public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\

  • java实现图片裁切的工具类实例

    本文实例讲述了java实现图片裁切的工具类.分享给大家供大家参考,具体如下: package com.yanek.util; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Iterator; import javax.im

  • java实现的导出Excel工具类实例

    本文实例讲述了java实现的导出Excel工具类.分享给大家供大家参考,具体如下: ExcelExportUtil: package com.excel; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.

  • 利用java生成二维码工具类示例代码

    二维码介绍 二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理. 如下为java生成二维码工具类,可以选择生成文件,或者直接在页面生成,话不多说了,来一起看看详细的示例代码吧. 示例代码 import java.aw

  • Java常用工具类 Random随机数、MD5加密工具类

    本文实例为大家分享了java常用工具类的具体代码,供大家参考,具体内容如下 Random随机数工具类 package com.jarvis.base.util; import java.util.Random; /** * * * @Title: RandomHelper.java * @Package com.jarvis.base.util * @Description: 随机数工具类 * @version V1.0 */ public class RandomHelper { /** *

  • java实现一个扫描包的工具类实例代码

    前言 在很多的实际场景中,我们需要得到某个包名下面所有的类,比如我们在使用SpringMVC的时候,知道SpringMVC可以扫描指定包下的所有类,在平时的开发中,我们也有这样的场景,所以今天写一个扫描包的工具类,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 代码如下: package com.gujin.utils; import java.io.File; import java.io.FileFilter; import java.io.IOException; imp

随机推荐