`
123003473
  • 浏览: 1059904 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java md5 加密 32位/16位

    博客分类:
  • java
 
阅读更多
/*
* 记得以前写过,找不到了……
* 百度的空间内容搜索还是不太理想……
* 再写一次吧……
*/
import java.security.MessageDigest;

public class Md5 {

/**
* md5加密方法
* @author: zhengsunlei
* Jul 30, 2010 4:38:28 PM
* @param plainText 加密字符串
* @return String 返回32位md5加密字符串(16位加密取substring(8,24))
* 每位工程师都有保持代码优雅的义务
* each engineer has a duty to keep the code elegant
*/
public final static String md5(String plainText) {

   // 返回字符串
   String md5Str = null;
   try {
    // 操作字符串
    StringBuffer buf = new StringBuffer();

   /**
    * MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。
    * 信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。
    *
    * MessageDigest 对象开始被初始化。
    * 该对象通过使用 update()方法处理数据。
    * 任何时候都可以调用 reset()方法重置摘要。
    * 一旦所有需要更新的数据都已经被更新了,应该调用digest()方法之一完成哈希计算。
    *
    * 对于给定数量的更新数据,digest 方法只能被调用一次。
    * 在调用 digest 之后,MessageDigest 对象被重新设置成其初始状态。
    */
    MessageDigest md = MessageDigest.getInstance("MD5");
  
    // 添加要进行计算摘要的信息,使用 plainText 的 byte 数组更新摘要。
    md.update(plainText.getBytes());

    // 计算出摘要,完成哈希计算。
    byte b[] = md.digest();
    int i;

    for (int offset = 0; offset < b.length; offset++) {

     i = b[offset];

     if (i < 0) {
      i += 256;
     }

     if (i < 16) {
      buf.append("0");
     }

     // 将整型 十进制 i 转换为16位,用十六进制参数表示的无符号整数值的字符串表示形式。
     buf.append(Integer.toHexString(i));

    }

    // 32位的加密
    md5Str = buf.toString();

    // 16位的加密
    // md5Str = buf.toString().md5Strstring(8,24);

   } catch (Exception e) {
    e.printStackTrace();
   }
   return md5Str;
}
}

java加密算法IBM详细:https://www.ibm.com/developerworks/cn/java/l-security/

分享到:
评论

相关推荐

    MD5加密32位小写

    在提供的压缩包文件“MD5”中,可能包含了一个Java程序示例,演示了如何使用MD5加密并生成32位小写的哈希值。这个程序可以作为一个基础模板,帮助开发者快速集成MD5功能到自己的项目中。 总之,MD5是一种便捷的哈希...

    Java中实现Md5(32位)加密

    Java中实现Md5(32位)加密,此资源下载后可直接在程序中使用

    java Md5加密方法 java Md5加密方法 java Md5加密方法

    java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密...

    java Md5加密方法 java Md5加密方法

    java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法...

    java md5 加密后转为16进制

    java md5 加密后转为16进制

    C#md5加密对应Java-md5加密

    C# MD5加密类型支持:1-16位的加密;2-32位加密;3:base64加密对应JAVA md5 16位的加密;2-32位加密;3:base64加密

    JAVA与C#一致的32位MD5加密方法

    标题中的“JAVA与C#一致的32位MD5加密方法”指的是在Java和C#这两种编程语言中实现相同32位MD5哈希的过程。由于MD5算法本身是标准的,理论上在任何支持MD5的编程语言中都应该得到相同的输出,不论是在Java还是C#中。...

    MD5加密32位16位

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,设计用于生成一个固定长度的数字摘要,通常为32位的16进制表示,即32个字符。这个摘要是由任意长度的数据计算出来的,它具有单向性和唯一性,即相同的...

    java md5加密 解密

    1. **MD5原理**:MD5是由美国计算机科学家Ronald Rivest开发的一种加密散列函数,它将任意长度的数据转换为一个128位(16字节)的散列值,通常以32位的十六进制表示。由于MD5的不可逆性,常用于验证文件完整性。 2....

    Java Md5加密工具类

    Java Md5加密工具类

    java与c#MD5加密方法得到不一致解决办法

    java与c#MD5加密方法得到不一致解决办法,MD5加密后得到不一致结果

    java实现md5 加密解密

    java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...

    java中关于Springboot加密 md5加密,注册密码加密到数据库中的关键语句,md5加密语句.pdf

    MD5加密的基本原理是,给定一个输入字符串,通过一系列计算步骤,将其转换成一个32位的16进制表示的字符串。这个过程是不可逆的,也就是说,无法从哈希值还原原始数据,但可以尝试通过彩虹表或碰撞攻击来找到可能的...

    随机生成36位MD5加密字符

    总的来说,MD5在Java中是一个重要的加密和校验工具,通过`MessageDigest`类可以方便地生成32位的哈希值。至于"36位MD5加密字符",这可能涉及到对原始MD5值的特殊编码或格式化,具体实现需结合源代码分析。

    java MD5加密工具类

    MD5算法是一种非对称的加密算法,它将输入的信息通过一系列复杂的数学运算,最终得到一个128位的摘要信息,通常以32位的16进制字符串形式表示。由于MD5的单向性,即从原始信息恢复原始数据非常困难,因此常用于数据...

    java实现MD5加密解密算法

    java实现MD5加密解密算法,java源代码~

    java实现MD5加密算法

    总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终将二进制摘要转换为十六进制字符串。尽管MD5的安全...

    JAVA_对文件MD5加密

    ### JAVA_对文件进行MD5加密 在计算机科学与信息安全领域中,MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据映射为一个固定长度(通常是128位)的十六进制数值。这种算法在数据...

    md5加密jar包

    MD5加密jar包是将MD5算法封装到Java程序中的库,方便开发者在Java应用中快速实现MD5加密功能。 MD5的特点: 1. **不可逆性**:MD5算法是单向的,即给定一个输入,可以得到一个固定长度的摘要,但不能通过摘要反推出...

    java MD5加密 实例 例子

    MD5加密的基本原理是,对输入的数据进行一系列复杂的数学运算,最终得到一个128位的二进制数,通常以32位的十六进制表示。由于MD5计算结果的唯一性和碰撞概率极低,因此它在很多场景下被用来验证数据的完整性和一致...

Global site tag (gtag.js) - Google Analytics