JAVA md5算法代码

public class MD5 {

/**

* 签名字符串

* @param text 需要签名的字符串

* @param key 密钥

* @param input_charset 编码格式

* @return 签名结果

*/

public static String sign(String text, String key, String input_charset) {

text = text + key;

return DigestUtils.md5Hex(getContentBytes(text, input_charset));

}

/**

* 签名字符串

* @param text 需要签名的字符串

* @param sign 签名结果

* @param key 密钥

* @param input_charset 编码格式

* @return 签名结果

*/

public static boolean verify(String text, String sign, String key, String input_charset) {

text = text + key;

String mysign = DigestUtils.md5Hex(getContentBytes(text, input_charset));

if(mysign.equals(sign)) {

return true;

}

else {

return false;

}

}

/**

* @param content

* @param charset

* @return

* @throws SignatureException

* @throws UnsupportedEncodingException

*/

private static byte[] getContentBytes(String content, String charset) {

if (charset == null || "".equals(charset)) {

return content.getBytes();

}

try {

return content.getBytes(charset);

} catch (UnsupportedEncodingException e) {

throw new RuntimeException("MD5签名过程中出现错误,指定的编码集不对,您目前指定的编码集是:" + charset);

}

}

}

JAVA md5算法代码

时间: 2024-10-10 23:01:55

JAVA md5算法代码的相关文章

常用MD5算法代码

常用的MD5算法代码日期: 2014年8月4日作者: 铁锚 MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小

Java MD5算法

JAVA MD5算法  MD5即Message-Digest Algorithm 5(信息-摘要算法5),是一种用于产生数字签名的单项散列算法. MD5算法的作用是让大容量信息在用数字签名软件签私人密匙前被"压缩"成一种保密的格式,将一个任意长度的"字节串"通过一个不可逆的字符串变换算法变换成一个128bit的大整数. 即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数.

java基数排序算法代码下载

原文:java基数排序算法代码下载 代码下载地址:http://www.zuidaima.com/share/1550463272684544.htm 基数排序:基数排序可以说是扩展了的桶式排序, * 比如当待排序列在一个很大的范围内,比如0到999999内,那么用桶式排序是很浪费空间的. * 而基数排序把每个排序码拆成由d个排序码,比如任何一个6位数(不满六位前面补0)拆成6个排序码, * 分别是个位的,十位的,百位的.... * 排序时,分6次完成,每次按第i个排序码来排. * 一般有两种方

Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明文是yanzi1225627,得到MD5加密后的字符串是:14F2AE15259E2C276A095E7394DA0CA9  但不能由后面一大串倒推出yanzi1225627.因此可以用来存储用户输入的密码在服务器上.现在下载文件校验文件是否中途被篡改也是用的它,原理参见:http://blog.c

密码技术应用设计实践-安全信息传输系统(SITS)(用Java实现DES、RSA、MD5算法)

本系统包括五个模块,注册模块.登录模块.RSA算法模块.DES算法模块.MD5算法模块.这五个模块每一个实现不同的功能.注册模块实现将用户名和密码写入文件中,登录模块则负责将其读入并且判断其是否正确.RSA算法模块实现生成密钥对.加密和解密功能.DES算法模块实现加密和解密功能.MD5算法模块是实现生成摘要的功能. (1).首先为注册界面: package test; import javax.swing.*; import java.awt.*;   //导入必要的包 import java.

与java一致的md5算法(C++)

工作中需要对网络传输的二进制配置文件进行md5运算生成校验码,以避免在网络传输中,文件的内容发生损坏和篡改.过程中大致是这样的: 1.服务端c++,请求端java: 2.请求端POST请求服务器上的某个文件,要求传输到请求端: 3.向服务端请求文件时,服务端需要对要传输的文件内容作md5加密,生成32字符校验码,将校验码作为http头信息字段传输到请求端: 4.请求端对传过来的文件也进行MD5加密,生成的校验码和服务器传来的做比较,相同即保证了数据的完整性和合法性,并对内容进行处理,否则,丢弃.

Java利用MessageDigest提供的MD5算法加密字符串或文件

MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性.用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm).另外还有一种常用的消息摘要算法SHA1.如果想了解这些的话,可以去百度百科:MD5.SHA1.消息摘要算法. Java已经实现了MD5.SHA1算法.利用java.security.MessageDigest类就可以获取字符串和文件的MD5以及SHA1结果. 1.字符串的MD5(下面的代码有详细注释) public static String s

java文本相似度计算(Levenshtein Distance算法(中文翻译:编辑距离算法))----代码和详解

算法代码实现: package com.util; public class SimFeatureUtil { private static int min(int one, int two, int three) { int min = one; if (two < min) { min = two; } if (three < min) { min = three; } return min; } public static int ld(String str1, String str2)

java桶式排序算法代码下载

原文:java桶式排序算法代码下载 代码下载地址:http://www.zuidaima.com/share/1550463272176640.htm 桶式排序: * 桶式排序不再是基于比较的了,它和基数排序同属于分配类的排序, * 这类排序的特点是事先要知道待排 序列的一些特征. * 桶式排序事先要知道待排 序列在一个范围内,而且这个范围应该不是很大的. * 比如知道待排序列在[0,M)内,那么可以分配M个桶,第I个桶记录I的出现情况, * 最后根据每个桶收到的位置信息把数据输出成有序的形式.