`

java_MD5加密源码

    博客分类:
  • java
 
阅读更多
package com.lt.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Arrays;

public class MyMD5Util {

	// MD5加码。32位   
	 public static String MD5(String inStr) {   
	  MessageDigest md5 = null;   
	  try {   
	   md5 = MessageDigest.getInstance("MD5");   
	  } catch (Exception e) {   
	   System.out.println(e.toString());   
	   e.printStackTrace();   
	   return "";   
	  }   
	  char[] charArray = inStr.toCharArray();   
	  byte[] byteArray = new byte[charArray.length];   
	  
	  for (int i = 0; i < charArray.length; i++)   
	   byteArray[i] = (byte) charArray[i];   
	  
	  byte[] md5Bytes = md5.digest(byteArray);   
	  
	  StringBuffer hexValue = new StringBuffer();   
	  
	  for (int i = 0; i < md5Bytes.length; i++) {   
	   int val = ((int) md5Bytes[i]) & 0xff;   
	   if (val < 16)   
	    hexValue.append("0");   
	   hexValue.append(Integer.toHexString(val));   
	  }   
	  
	  return hexValue.toString();   
	 }   
	  
	 // 可逆的加密算法   
	 public static String KL(String inStr) {   
	  // String s = new String(inStr);   
	  char[] a = inStr.toCharArray();   
	  for (int i = 0; i < a.length; i++) {   
	   a[i] = (char) (a[i] ^ 't');   
	  }   
	  String s = new String(a);   
	  return s;   
	 }   
	  
	 // 加密后解密   
	 public static String JM(String inStr) {   
	  char[] a = inStr.toCharArray();   
	  for (int i = 0; i < a.length; i++) {   
	   a[i] = (char) (a[i] ^ 't');   
	  }   
	  String k = new String(a);   
	  return k;   
	 }   
	    
	 // 测试主函数   
	 public static void main(String args[]) {   
	  String s = new String("123");   
	  System.out.println("原始:" + s);   
	  System.out.println("MD5后:" + MD5(s));   
	  System.out.println("MD5后再加密:" + KL(MD5(s)));   
	  System.out.println("解密为MD5后的:" + JM(KL(MD5(s))));  
	  System.out.println("加密的:" + KL(s)); 
	  System.out.println("解密的:" + JM(KL(s)));  
	 } 

}
 
分享到:
评论

相关推荐

    java_md5加密源码

    在Java中,实现MD5加密通常需要使用`java.security.MessageDigest`类。下面我们将详细探讨Java中的MD5加密原理和实现步骤。 **MD5加密原理:** MD5算法是一种非对称的单向加密算法,它将任意长度的数据转化为固定...

    test_solutionl1r_算法_md5加密_源码

    这里我们围绕“test_solutionl1r_算法_md5加密_源码”这个主题,详细探讨MD5加密、solutionl1r算法以及如何在实际应用中调用API进行MD5加密。 首先,MD5是一种非对称加密算法,它的主要特点是可以将任意大小的数据...

    MD5加密源码,清晰解析,可运行java版

    在给定的压缩包文件"md5"中,可能包含了这个简单的MD5加密源码实现,供学习和参考。通过分析和运行这个源码,你可以更好地理解MD5加密的过程,并且能够将其应用到实际项目中,如用户密码的存储或者文件校验等。

    md5加密源码

    JAVA实现MD5加密的例子,调用getMD5String方法,双次MD5加密,单次MD5加密

    Md5.java加密源码

    CodeFans是一个专注于分享编程知识和技术的社区,可能这个源码文件是该网站上关于MD5加密的一个示例或者讨论话题。 在实际应用中,MD5因为其易碰撞的特性(即不同的输入可能会得到相同的摘要),现在已经不建议用于...

    md5加密源码 md5加密源码

    如果你下载了"md5加密"的源码压缩包,里面可能包含不同编程语言(如C、Java、Python等)实现的MD5加密函数或类。这些源码可以作为学习和理解MD5加密机制的参考资料,但实际应用中应考虑使用更安全的替代方案。 总的...

    MD5加密源码

    ### MD5加密源码知识点解析 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,主要用于数据完整性检查。它能够将任意长度的数据转换为一个固定长度(通常是128位)的十六进制字符串。...

    android小程序之MD5加密(源码)

    下面将详细解释MD5加密的基本原理、在Android中的应用以及如何实现一个简单的MD5加密源码。 一、MD5概述 MD5是由美国计算机科学家Ronald Rivest在1991年设计的一种强散列函数,它可以将任意大小的输入(也叫做预映...

    MD5加密解密Java源码

    MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序

    JAVA MD5加密类源码

    MD5加密的源代码,用于加密字符串,可以用在用户注册或者登录上,是简单实用的加密类

    JAVA高手MD5加密算法底层源码完美实现

    在JAVA中,MD5主要用于数据的校验和密码的加密,因为它产生的哈希值具有不可逆性,即无法通过哈希值还原原始数据,这为数据安全提供了基础。 MD5算法的基本步骤包括: 1. **初始化:** MD5算法有四个32位的中间...

    java md5 加密源码

    使用java语言实现MD5的加密算法 测试通过 public static void main(String args[]) { MD5 md5 = new MD5(); if (Array.getLength(args) == 0) { System.out.println("MD5 Test suite:"); System.out....

    MD5加密源码,用java语言编写

    下面我们将详细探讨MD5加密的基本原理、Java实现MD5加密的过程以及相关的注意事项。 MD5的工作原理是接收任意长度的数据,通过一系列的数学运算(如位移、异或、加法等)将其转化为固定长度的128位二进制数,也就是...

    Java MD5加密算法源码

    这是可以运用在Javaweb项目开发中密码的加密,代码沉余少。

    windows下MD5加密工具bat文件

    Java语言也提供了对MD5的支持,其内置的`java.security.MessageDigest`类可以方便地进行MD5加密。使用Java进行MD5加密的步骤大致如下: 1. 引入`java.security.MessageDigest`类库。 2. 创建`MessageDigest`实例,...

    java MD5 加密 完整源代码

    java MD5 加密 完整源代码 经本人测试 运行完全没问题

    易语言源码易语言md5加密DLL源码.rar

    源码中应有相应的函数实现这些步骤,如`MD5_Init`、`MD5_Update`、`MD5_Final`,并且会涉及位运算、异或操作等。 3. **动态链接库的创建**:在易语言中创建DLL,需要定义导出函数,这些函数将在其他程序中被调用。...

    Excel的MD5加密的2种实现方式

    在提供的压缩包文件中,`md5宏.xla`可能包含了一个宏的实现,而`MD5加密2种方式.xlsx`则可能是包含VBA函数或者演示如何使用VBA函数进行MD5加密的Excel工作簿。为了安全起见,使用外部来源的宏时应谨慎,确保其来源...

Global site tag (gtag.js) - Google Analytics