直接引入“commons-codec-1.10.jar”这个java包,然后调用相应方法即可
比如我们可以写一个方法类,把常用的方法都写进去:
publicclassEncryptionUtil{
/**
*Base64encode
**/
(Stringdata){
returnBase64.encodeBase64String(data.getBytes());
}
/**
*Base64decode
*@
**/
(Stringdata){
returnnewString(Base64.decodeBase64(data.getBytes()),"utf-8");
}
/**
*md5
**/
publicstaticStringmd5Hex(Stringdata){
returnDigestUtils.md5Hex(data);
}
/**
*sha1
**/
publicstaticStringsha1Hex(Stringdata){
returnDigestUtils.sha1Hex(data);
}
/**
*sha256
**/
publicstaticStringsha256Hex(Stringdata){
returnDigestUtils.sha256Hex(data);
}
}
(PS:纯手打,望采纳)
㈡ 如何使用Java生成MD5代码
这是我以前做的一个小项目时用到md5写的
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
//将用户密码进行md5加密 并返回加密后的32位十六进制密码
public class MD5Util {
public static String md5(String password) {
try {
// 获取md5对象
MessageDigest md = MessageDigest.getInstance("md5");
// 获取加密后的密码并返回十进制字节数组
byte[] bytes = md.digest(password.getBytes());
// 遍历数组得到每个十进制数并转换成十六进制
StringBuffer sb = new StringBuffer();
for (byte b : bytes) {
// 把每个数转成十六进制 存进字符中
sb.append(toHex(b));
}
String finish = sb.toString();
return finish;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
// 十进制转十六进制方法
private static String toHex(byte b) {
int target = 0;
if (b < 0) {
target = 255 + b;
} else {
target = b;
}
int first = target / 16;
int second = target % 16;
return Hex[first] + Hex[second];
}
static String[] Hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f" };
/*public static void main(String[] args) {
String a = MD5Util.md5("1234");
System.out.println(a);
}*/
}
㈢ MD5算法求助 用JAVA实现
package JavaBean.util;
import java.security.MessageDigest;
public class MD5Encrypt {
public MD5Encrypt() {
}
private final static String[] hexDigits = {
"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "a", "b", "c", "d", "e", "f"};
/**
* 转换字节数组为16进制字串
* @param b 字节数组
* @return 16进制字串
*/
public static String byteArrayToString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
//resultSb.append(byteToHexString(b[i]));//若使用本函数转换则可得到加密结果的16进制表示,即数字字母混合的形式
resultSb.append(byteToNumString(b[i]));//使用本函数则返回加密结果的10进制数字字串,即全数字形式
}
return resultSb.toString();
}
private static String byteToNumString(byte b) {
int _b = b;
if (_b < 0) {
_b = 256 + _b;
}
return String.valueOf(_b);
}
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];
}
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString =
byteArrayToString(md.digest(resultString.getBytes()));
}
catch (Exception ex) {
}
return resultString;
}
public static void main(String[] args) {
MD5Encrypt md5encrypt = new MD5Encrypt();
System.out.println(MD5Encode("10000000"));
}
}
完整的类.
调用为: md5.MD5Encode("hello");
㈣ java中md5加密
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class md5 {
public String str;
public void md5s(String plainText) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
str = buf.toString();
System.out.println("result: " + buf.toString());// 32位的加密
System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String agrs[]) {
md5 md51 = new md5();
md51.md5s("4");//加密4
}
}
㈤ 怎样用java实现文件的md5签名
你好FTP协议不提供校验的。既然是采用TCP通讯的,文件完整性是有保障的吧希望回答对你有帮助
㈥ Java如何实现可变MD5加密
最简单的,出了md5的32位之后,自定义位移方式,在生成多次md5
㈦ java怎么实现md5字符串加密
importjava.security.MessageDigest;
publicclassMD5Util{
(byteb[]){
StringBufferresultSb=newStringBuffer();
for(inti=0;i<b.length;i++)
resultSb.append(byteToHexString(b[i]));
returnresultSb.toString();
}
(byteb){
intn=b;
if(n<0)
n+=256;
intd1=n/16;
intd2=n%16;
returnhexDigits[d1]+hexDigits[d2];
}
publicstaticStringMD5Encode(Stringorigin,Stringcharsetname){
StringresultString=null;
try{
resultString=newString(origin);
MessageDigestmd=MessageDigest.getInstance("MD5");
if(charsetname==null||"".equals(charsetname))
resultString=byteArrayToHexString(md.digest(resultString
.getBytes()));
else
resultString=byteArrayToHexString(md.digest(resultString
.getBytes(charsetname)));
}catch(Exceptionexception){
}
returnresultString;
}
[]={"0","1","2","3","4","5",
"6","7","8","9","a","b","c","d","e","f"};
publicstaticvoidmain(String[]args){
Strings="20160408dehui013691632869";
System.out.println(MD5Encode(s,null));
}
}
㈧ JAVA做一个简单的MD5加密...
常用的MD5加密类
package org.tool;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5_Encoding
{
private MessageDigest md = null;
private static MD5_Encoding md5 = null;
private static final char[] hexChars = { '0', '1', '2', '3', '4', '5', '6',
'7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
/**
* Constructor is private so you must use the getInstance method
*/
private MD5_Encoding() throws NoSuchAlgorithmException
{
md = MessageDigest.getInstance("MD5");
}
/**
* This returns the singleton instance
*/
public static MD5_Encoding getInstance() throws NoSuchAlgorithmException
{
if (md5 == null)
{
md5 = new MD5_Encoding();
}
return (md5);
}
/* 将字符串使用md5加密的方法*/
public static String hashCode(String dataToHash)
throws NoSuchAlgorithmException
{
return getInstance().hashData(dataToHash.getBytes());
}
public static String hashCode(byte[] dataToHash)
throws NoSuchAlgorithmException
{
return getInstance().hashData(dataToHash);
}
public String hashData(byte[] dataToHash)
{
return hexStringFromBytes((calculateHash(dataToHash))).toLowerCase();
}
private byte[] calculateHash(byte[] dataToHash)
{
md.update(dataToHash, 0, dataToHash.length);
return (md.digest());
}
public String hexStringFromBytes(byte[] b)
{
String hex = "";
int msb;
int lsb = 0;
int i;
// MSB maps to idx 0
for (i = 0; i < b.length; i++)
{
msb = ((int) b[i] & 0x000000FF) / 16;
lsb = ((int) b[i] & 0x000000FF) % 16;
hex = hex + hexChars[msb] + hexChars[lsb];
}
return (hex);
}
public static void main(String args[]) throws Exception{
//举例对1进行加密
System.out.println(MD5_Encoding.hashCode("1"));
}
}
㈨ 求Java的MD5加密解密实现类。 要实现对用户的密码进行加密! 然后验证用户的密码!
我简单说下吧,加密就是存进数据库的时候变成MD5存进去,解密,就是对比的时候,将用户输入的密码转换成MD5和数据库里面的对比。
㈩ 如何使用JAVA md5算法
第一步:
import java.security.MessageDigest;
第二步:
private final static String[] digits = {"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "a", "b", "c", "d", "e", "f"};
第三步:
public static String byteArrayToHexString(byte[] b) {
StringBuffer sb = new StringBuffer();
for (byte aB : b) {
sb.append(byteToHexString(aB));
}
return sb.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 digits[d1] + digits[d2];
}
第五步:
public static String MD5Encode(String origin) {
String result = "";
try {
result = origin;
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(result.getBytes("UTF-8"));
result = byteArrayToHexString(md.digest());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
应用实例:
package zy.until;
import java.security.MessageDigest;
/**
* User: lxy
* Date: 2015/6/23
* Time: 15:43
*/
public class MD5 {
private final static String[] digits = {"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "a", "b", "c", "d", "e", "f"};
public static String byteArrayToHexString(byte[] b) {
StringBuffer sb = new StringBuffer();
for (byte aB : b) {
sb.append(byteToHexString(aB));
}
return sb.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 digits[d1] + digits[d2];
}
public static String MD5Encode(String origin) {
String result = "";
try {
result = origin;
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(result.getBytes("UTF-8"));
result = byteArrayToHexString(md.digest());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}