`

java中md5算法实例

阅读更多

MD5 即:Message-Digest Algorithm 5 (信息-摘要算法),可以保证信息传输的一致,是一种常用的散列算法之一,也可以看做是哈希算法,它将数据运算为128-bits长度的值,用32位的十六进制数字表示。

md5加密用法:

	String getStringFromEntryInternal(T entry) {
		String s = getStringFromEntry(entry);

		return StringUtil.signContent(s, getSalt());
	}

	/**
	 * salt在编码后的串里不可见
	 * 
	 * @return
	 */
	public String getSalt() {
		return StringUtil.EMPTY;
	}
 
public class StringUtil {
       public static final String EMPTY = "";

	public static String signContent(String rawContent, String salt) {
		String md5 = md5(rawContent + salt);

		return rawContent + md5;
	}

}

 md5解密算法:

	T getEntryFromStringInternal(String str) {
		String raw = StringUtil.getRawContent(str, getSalt());
		// System.out.println("getEntryFromStringInternal:" + str);
		if (raw != null)
			return getEntryFromString(raw);
		else {
			return null;
		}
	}
 
	public static String getRawContent(String signedContent, String salt) { // rawContent这里作为一个输出参数
		String rtn = null;

		if (signedContent == null)
			return null;

		int len = signedContent.length();
		if (len <= 32)
			return null;

		String md5 = signedContent.substring(len - 32);// 最后32位
		// System.out.println("validateSignedContent.md5:" + md5);
		rtn = signedContent.substring(0, len - 32);// 原始内容
		// System.out.println("validateSignedContent.rtn:" + rtn);

		if (md5.equalsIgnoreCase(md5(rtn + salt)))
			return rtn;

		return null;
	}
 

测试:

public class TTTT {
	public static void main(String[] args){
		String  sss="this id";
		String mds55=StringUtil.signContent(sss, "");
		System.out.println(mds55);
		System.out.println(mds55.length());
		String unmds55=StringUtil.getRawContent(mds55, "");
		System.out.println(unmds55);
	}
}

 测试结果:

this id46a6f3c92d33264c365fbb495afbe7a6
39
this id
 

 

 

分享到:
评论

相关推荐

    java实现Md5加盐加密算法

    对接接口时用到的一种常用加密算法,常用于验证签名,使用shiro-all-1.4.1.jar,可自行下载

    MD5加密算法的一个java实例

    Md5的全称是message-digest algorithm 5(信息-摘要算法) 算法描述 对md5算法简要的叙述可以为:md5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个...

    java 实现MD5加密算法的简单实例

    主要介绍了java 实现MD5加密算法的简单实例的相关资料,这里提供实例帮助大家应用这样的加密算法,需要的朋友可以参考下

    MD5加密32位小写

    这个是以md5加密32位小写具体算法实例。可直接用于云mas的HTTP、和webservice接口。

    MD5加密算法(Java语言描述)

     MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476。  当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的...

    java 加密解密算法实例(可运行)

    MD5算法.txtMD5算法.txtMD5算法.txt

    Android编程之MD5加密算法实例分析

    本文实例分析了Android编程之MD5加密算法。分享给大家供大家参考,具体如下: Android MD5加密算与J2SE平台一模一样,因为Android 平台支持 java.security.MessageDigest这个包。实际上与J2SE平台一模一样。 算法...

    java 各种加密方式,MD5加密算法

    md5,aes,des,des3,rsa,sha,base64加密解密实例,含有所需jar包,注释详细,导入项目直接可用。

    java实现的MD5摘要算法完整实例

    主要介绍了java实现的MD5摘要算法,结合完整实例形式分析了java实现md5单项加密的具体步骤与相关操作技巧,需要的朋友可以参考下

    实现MD5加密实例代码

    本实例是java利用MD5进行加密的例子,md5加密为不可逆转加密方式

    java实现MD5加密算法的实例代码

    主要介绍了java实现MD5加密算法的实例代码,有需要的朋友可以参考一下

    利用MD5算法进行加密字符串

    //本实例的主要作用是指定的字符串利用MD5算法进行加密,然后将加密后获得的字符串转换成字符串数组, //再由字符数组转换成十六进制的字符串,形成最终的密码。然后随便输入一个字符串,如果该字符串经过 //MD5加密...

    机器学习算法实例代码.md

    机器学习算法实例代码

    mysql与mssql的md5加密语句

    您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    Java与C++实现相同的MD5加密算法简单实例

    下面小编就为大家带来一篇Java与C++实现相同的MD5加密算法简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

    本文实例讲述了Android获取apk签名指纹的md5值以防止重新被打包的实现方法。分享给大家供大家参考,具体如下: 做个记录(这里只是Java层的签名校验,java层容易被破解,我建议apk加固下) 获取md5值来进行Apk签名校验...

    Java计算文本MD5加密值的方法示例

    主要介绍了Java计算文本MD5加密值的方法,结合实例形式分析了Java基于security实现md5加密算法进行文本加密相关操作技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics