`
翩跹吉吉
  • 浏览: 102370 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

通过MessageDigest实现简单的MD5加密

    博客分类:
  • Java
阅读更多
  今天项目中有个登陆业务,要求用到MD5加密技术,回家百度到处看了看,都是一些长篇大论,干脆打开JDK文档开始看MessageDigest类的用法,结果其实很简单,这里我做了一个简单示例以供大家参考:
package com.test.md5;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5Tset {

/**
* 将字符串通过MD5加密
* @param str
* @return
*/
public static String encodeStr(String str){

byte[] strByte = str.getBytes();

MessageDigest md = null;

try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

md.update(strByte);

byte[] newByte = md.digest();

StringBuilder sb = new StringBuilder();

//转换为16进制
for (int i = 0; i < newByte.length; i++) {

if ((newByte[i] & 0xff) < 0x10) {
   sb.append("0");
}
sb.append(Long.toString(newByte[i] & 0xff, 16));
}

return sb.toString();

}

/**
* 测试
* @param args
*/
public static void main(String[] args) {

System.out.println("abc after by MD5 encryption: "+Md5Tset.encodeStr("abc"));

}

}

其实实现起来比较简单,主要是网上写的太多不容易阅读,这里给出一个简洁版以供大家参考!
分享到:
评论
1 楼 Billy900110 2012-12-04  
那个转化16进制的时候,if ((newByte[i] & 0xff) < 0x10) {
   sb.append("0");
} 为什么要这么做

相关推荐

    基于JAVA的MD5加密解密实现

    纯JAVA的MD5加密,利用MD5单向函数产生密钥,方便测试

    java自带的MessageDigest实现文本的md5加密算法

    主要介绍了java自带的MessageDigest实现文本的md5加密算法,需要的朋友可以参考下

    使用JAVA代码实现MD5加密

    MessageDigest md = MessageDigest.getInstance("MD5"); BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(md.digest(str.getBytes("utf-8"))); } catch (Exception e) { throw ...

    MD5加密 用于数据 密码加密

    MD5的方式加密数据 通过导入一个 import java.security.MessageDigest;的包来实现 MessageDigest mdInst = MessageDigest.getInstance("MD5"); 使用这个方法

    Java MD5加密工具类(支持多参数输入)

    Java工具类,它不仅实现了MD5加密,更创新性地接纳String... inputStrs,让你能一次性加密多个字符串。 1. 一键加密,多值无忧 告别繁杂,拥抱简洁。我们的Java MD5加密工具类以String... inputStrs为武器,打破了...

    Java实现MD5加密及解密的代码实例分享

    如果对安全性的需求不是太高,MD5仍是使用非常方便和普及的加密方式,比如Java中自带的MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享:

    详解C#实现MD5加密的示例代码

    C#实现MD5加密,具体如下: 方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest...

    数据加密MD5处理方法

    Md5Method用来实现密码以密文的形式加密 MessageDigest md = MessageDigest.getInstance("MD5"); md.update(ori.getBytes()); byte b[] = md.digest();

    Message Digest 5算法 的C ++ 实现_代码_下载

    这是一个实现消息摘要算法 MD5 的 C++ 类。该算法的目的是计算给定位串的哈希值。MD5 产生一个 16 字节(128 位)的散列。 MD5 哈希已被证明在加密上容易受到各种攻击(谷歌它们),因此不应用于安全目的。该库的...

    android md5加密与rsa加解密实现代码

    代码如下: import java.io.... public class MD5 { /* * MD5加密 */ public static String getDigest(String str) { MessageDigest messageDigest = null; try { messageDigest = MessageDigest.getInstance(“MD5

    Java中常用的加密算法

    消息摘要是采用任意大小的数据并输出固定长度散列值的安全单向散列函数(加密算法如SHA-1或SHA-256),用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD...

    [S036] MD5算法.rar

    介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 Message-Digest泛指字节串(Message)的Hash变换,就是...

    Java加密和数字签名编程快速入门

    可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前广泛使用的算法有MD4、MD5、SHA-1,jdk1.5对上面都提供了支持,在java中进行消息摘要很简单, java.security.MessageDigest提供了一个简易的操作...

Global site tag (gtag.js) - Google Analytics