本文目录一览:
- 1、谁能告诉我一个简洁可用的方法用java求一个字符串生成的md5码。
- 2、java生成的MD5,和c#的生成的不一致,有java代码,求c#代码!
- 3、java怎么把数据转换成md5
- 4、java /groovy 的MD5类 及怎么使用
- 5、java怎么把字符串进行md5加密
- 6、如何使用Java生成MD5代码
谁能告诉我一个简洁可用的方法用java求一个字符串生成的md5码。
public class MD5 {
public static String crypt(String str) throws NoSuchAlgorithmException {
if (str == null || str.length() == 0) {
throw new IllegalArgumentException();
}
StringBuffer hexString = new StringBuffer();
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte[] hash = md.digest();
for (int i = 0; i hash.length; i++) {
if ((0xff hash[i]) 0x10) {
hexString.append("0" + Integer.toHexString((0xFF hash[i])));
} else {
hexString.append(Integer.toHexString(0xFF hash[i]));
}
}
return hexString.toString();
}
java生成的MD5,和c#的生成的不一致,有java代码,求c#代码!
考虑一下中文字符问题。两边使用的编码是不是一样的。保持一样就可以了。
建议使用UTF8编码
JAVA代码如下(在你给同的代码上只做了少量修改):
public class Security {
public static void main(String[] args) {
try {
System.out.println(MD5("中国"));
} catch(Exception ex) {}
}
public static String MD5(String txt) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f' };
try {
byte[] btInput = txt.getBytes("utf-8");
MessageDigest mdInst = MessageDigest.getInstance("MD5");
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 4 0xf];
str[k++] = hexDigits[byte0 0xf];
}
return new String(str);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
C#代码如下:
static void Main(string[] args)
{
Console.WriteLine(Md5("中国"));
Console.ReadLine();
}
static string Md5(string txt) {
byte[] result = Encoding.UTF8.GetBytes(txt);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = md5.ComputeHash(result);
return BitConverter.ToString(output).Replace("-", "");
}
java怎么把数据转换成md5
不是数据,而是字符串。
/**利用MD5进行加密
* @param str 待加密的字符串
* @return 加密后的字符串
* @throws NoSuchAlgorithmException 没有这种产生消息摘要的算法
* @throws UnsupportedEncodingException
*/
public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{
//确定计算方法
MessageDigest md5=MessageDigest.getInstance("MD5");
BASE64Encoder base64en = new BASE64Encoder();
//加密后的字符串
String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));
return newstr;
}
java /groovy 的MD5类 及怎么使用
String dst = "一个待生成
md5值
的字符串";
MessageDigest md = MessageDigest.
getInstance
("MD5");
md.update(dst.getBytes());// 将original传给md5
byte[] digest = md.digest();// 产生md5序列
StringBuffer sb = new StringBuffer();// 转换md5值为
16进制
for (byte b : digest) {
sb.append(String.format("%02x", b 0xff));
}
System.out.println("原值:" + dst);
System.out.println("MD5:" + sb);
java怎么把字符串进行md5加密
给你看源代码,我自己写的
public static String md5(String src){
try{
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] output = md.digest(src.getBytes());//加密处理
//将加密结果output利用Base64转换成字符串输出
String ret = Base64.encodeBase64String(output);
return ret;
}catch(Exception e){
throw new NoteException("密码加密失败",e);
}
}
public static void main(String[] args) {
System.out.println(md5("123456"));
}
如何使用Java生成MD5代码
这是我以前做的一个小项目时用到md5写的
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
//将用户密码进行md5加密 并返回加密后的32位十六进制密码
public class MD5Util {
public static String md5(String password) {
try {
// 获取md5对象
MessageDigest md = MessageDigest.getInstance("md5");
// 获取加密后的密码并返回十进制字节数组
byte[] bytes = md.digest(password.getBytes());
// 遍历数组得到每个十进制数并转换成十六进制
StringBuffer sb = new StringBuffer();
for (byte b : bytes) {
// 把每个数转成十六进制 存进字符中
sb.append(toHex(b));
}
String finish = sb.toString();
return finish;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
// 十进制转十六进制方法
private static String toHex(byte b) {
int target = 0;
if (b 0) {
target = 255 + b;
} else {
target = b;
}
int first = target / 16;
int second = target % 16;
return Hex[first] + Hex[second];
}
static String[] Hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f" };
/*public static void main(String[] args) {
String a = MD5Util.md5("1234");
System.out.println(a);
}*/
}