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.security.MessageDigest`类。下面我们将详细探讨Java中的MD5加密原理和实现步骤。 **MD5加密原理:** MD5算法是一种非对称的单向加密算法,它将任意长度的数据转化为固定...
这里我们围绕“test_solutionl1r_算法_md5加密_源码”这个主题,详细探讨MD5加密、solutionl1r算法以及如何在实际应用中调用API进行MD5加密。 首先,MD5是一种非对称加密算法,它的主要特点是可以将任意大小的数据...
在给定的压缩包文件"md5"中,可能包含了这个简单的MD5加密源码实现,供学习和参考。通过分析和运行这个源码,你可以更好地理解MD5加密的过程,并且能够将其应用到实际项目中,如用户密码的存储或者文件校验等。
JAVA实现MD5加密的例子,调用getMD5String方法,双次MD5加密,单次MD5加密
CodeFans是一个专注于分享编程知识和技术的社区,可能这个源码文件是该网站上关于MD5加密的一个示例或者讨论话题。 在实际应用中,MD5因为其易碰撞的特性(即不同的输入可能会得到相同的摘要),现在已经不建议用于...
如果你下载了"md5加密"的源码压缩包,里面可能包含不同编程语言(如C、Java、Python等)实现的MD5加密函数或类。这些源码可以作为学习和理解MD5加密机制的参考资料,但实际应用中应考虑使用更安全的替代方案。 总的...
### MD5加密源码知识点解析 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,主要用于数据完整性检查。它能够将任意长度的数据转换为一个固定长度(通常是128位)的十六进制字符串。...
下面将详细解释MD5加密的基本原理、在Android中的应用以及如何实现一个简单的MD5加密源码。 一、MD5概述 MD5是由美国计算机科学家Ronald Rivest在1991年设计的一种强散列函数,它可以将任意大小的输入(也叫做预映...
MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序
MD5加密的源代码,用于加密字符串,可以用在用户注册或者登录上,是简单实用的加密类
在JAVA中,MD5主要用于数据的校验和密码的加密,因为它产生的哈希值具有不可逆性,即无法通过哈希值还原原始数据,这为数据安全提供了基础。 MD5算法的基本步骤包括: 1. **初始化:** MD5算法有四个32位的中间...
使用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加密的过程以及相关的注意事项。 MD5的工作原理是接收任意长度的数据,通过一系列的数学运算(如位移、异或、加法等)将其转化为固定长度的128位二进制数,也就是...
这是可以运用在Javaweb项目开发中密码的加密,代码沉余少。
Java语言也提供了对MD5的支持,其内置的`java.security.MessageDigest`类可以方便地进行MD5加密。使用Java进行MD5加密的步骤大致如下: 1. 引入`java.security.MessageDigest`类库。 2. 创建`MessageDigest`实例,...
java MD5 加密 完整源代码 经本人测试 运行完全没问题
源码中应有相应的函数实现这些步骤,如`MD5_Init`、`MD5_Update`、`MD5_Final`,并且会涉及位运算、异或操作等。 3. **动态链接库的创建**:在易语言中创建DLL,需要定义导出函数,这些函数将在其他程序中被调用。...
在提供的压缩包文件中,`md5宏.xla`可能包含了一个宏的实现,而`MD5加密2种方式.xlsx`则可能是包含VBA函数或者演示如何使用VBA函数进行MD5加密的Excel工作簿。为了安全起见,使用外部来源的宏时应谨慎,确保其来源...