当前位置:首页 » 密码管理 » javamd5加密32位

javamd5加密32位

发布时间: 2023-07-08 00:47:39

java的32位MD5加密php中的32位MD5加密结果不一样.求帮助

PHP不是很懂、但是PHP和Java用MD5加密的结果是一样的、
我记得上次我还用Java调用了人家的PHP充值接口、其中有参数就是MD5加密的;
希望回答能给你带来帮助~
如果满意,请采纳,如还有疑问,可继续追问!
您也可以向我们团队发出请求,会有更专业的人来为您解答!

Ⅱ java的32位MD5加密与php中的32位MD5加密结果不一样。求帮助。急急急

Java的字符串是unicode编码,不受源码文件的编码影响;而PHP的编码是和源码文件的编码一致,受源码编码影响。例中java字符数据在散列时的编码和php编码未能保持一致,我认为这是导致输出不同的“病理”

由于未知mad.toMd5的具体实现,问题直接成因应该在toMd5的String到byte[]转换时的编码上,或者未设置或者设置了错误的编码
但只要java的字符串先getBytes获得字节串,并和php源码编码一致,就能获得一致结果。

Ⅲ JAVA版MD5加密算法

package sf_md ;

import java io *;

import java security *;

//import java util *;

//import java security interfaces *;

public class MD _算法 {

private String inStr;

private MessageDigest mad ;

public MD _算法(String inStr){

this inStr=inStr;

try{

this mad =MessageDigest getInstance( MD );

}

catch(Exception e){

System out println(e toString());

e printStackTrace();

}

}

public String pute(){

char[] charArray=this inStr toCharArray();

byte[] byteArray=new byte[charArray length];

for(int i= ;i<charArray length;i++)

byteArray[i]=(byte)charArray[i];

byte[] md Bytes=this mad digest(byteArray);

StringBuffer hexValue=new StringBuffer();

for(int i= ;i<md Bytes length;i++){

腊闹int val=((int)md Bytes[i])& xff;

if(val< )

hexValue append( );

hexValue append(Integer toHexString(val));

}

return hexValue toString();

}

public static void main(String[] args) {

String string=null;

try{

System out println( 请输入要加密的数据: );

BufferedReader br=new BufferedReader(new InputStreamReader(System in));

判梁string=br readLine();

掘局运}

catch(IOException e){

System out println(e);

}

MD _算法 md =new MD _算法(string);

String postString =pute();

System out println( 加密后的数据: +postString);

}

lishixin/Article/program/Java/hx/201311/25613

Ⅳ PHP md5 和 java 的md5出来的数据不一样

publicfinalclassMD5{

/**
*获取MD5加密后的字符串
*@paramstr明文
*@return加密后的字符串
*@throwsException
*/
publicstaticStringgetMD5(Stringstr)throwsException{
/**创建MD5加密对象*/
MessageDigestmd5=MessageDigest.getInstance("MD5");
/**进行加密*/
md5.update(str.getBytes());
/**获取加密后的字节数组*/
byte[]md5Bytes=md5.digest();
Stringres="";
for(inti=0;i<md5Bytes.length;i++){
inttemp=md5Bytes[i]&0xFF;
if(temp<=0XF){//转化成十六进制不够两位,前面加零
res+="0";
}
res+=Integer.toHexString(temp);
}
returnres;
}
}

//这是我写的32位MD5加密(原本是16位)

Ⅳ .net(md5)加密汉字的结果与java(md5)加密汉字的结果不一样。。。

肯定是一样的。这个无论哪种语言获得的加密结果也是一样的。如果不一样有以下几种可能:
1.加密返回的位数不一样,因为有的md5加密可以返回16位或32位结果。
2.是否汉字在处理的时候有被代码变成了其它的编码。.net一般不会变编码的,而java根据操作系统不同,有可能在内部转了编码的。

Ⅵ 用java做的登录框 怎么给密码加密

密码不是保存在cookie里么 如果非要数据库服务器记住密码 那就得用上面的朋友说的MD5加密啦 虽然吧可逆 不过也是可以破的

Ⅶ md5加密以后的字符串长度

加密后为128位(bit),按照16进制(4位一个16进制数)编码后,就成了32个字符。MD5并不是加密算法,而是摘要算法。加密算法是可逆的,摘要算法是理专论上不可逆的,详细步骤:

1、md5算法主要应用在密码领域,为了防止明文传输密码的危险性,一般会用密码的md5值来代替密码本身。

Ⅷ java中md5加密

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class md5 {
public String str;

public void md5s(String plainText) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();

int i;

StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
str = buf.toString();
System.out.println("result: " + buf.toString());// 32位的加密
System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
}

public static void main(String agrs[]) {
md5 md51 = new md5();
md51.md5s("4");//加密4
}

}

Ⅸ 如何使用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);
}*/
}

Ⅹ java中使用MD5加密算法进行加密

在各种应用系统的开发中 经常需要存储用户信息 很多地方都要存储用户密码 而将用户密码直接存储亮衫唯在服务器上显然是不安全的 本文简要介绍工作中常用的 MD 加密算法 希望能抛砖引玉

(一)消息摘要简介

一个消息摘要就是一个数据块的数字指纹 即对一个任意敬培长度的一个数据块进行计算 产生一个唯一指印(对于SHA 是产生一个 字节的二进制数组) 消息摘要是一种与消息认证码结合使用以确保消息完整性的技术 主要使用单向散列函数算法 可用于检验消息的完整性 和通过散列密码直接以文本形式保存等 目前广泛使用的算法有MD MD SHA

消息摘要有两个基本属性

两个不同的报文难以生成相同的摘要难以对指定的摘要生成一个报文 而可以由该报文反推算出该指定的摘要代表 美国国家标准技术研究所的SHA 和麻省理工学院Ronald Rivest提出的MD

(二)对字符串进行加密

/***//**利用MD 进行加密*@paramstr待加密的字符串*@return加密后的字符串*塌仔@没有这种产生消息摘要的算法*@*/publicStringEncoderByMd (Stringstr) UnsupportedEncodingException {//确定计算方法MessageDigestmd =MessageDigest getInstance( MD );BASE Encoderbase en=newBASE Encoder();//加密后的字符串Stringnewstr=base en encode(md digest(str getBytes( utf )));returnnewstr;}

调用函数 String str=

System out println(EncoderByMd (str))

输出 eB eJF ptWaXm bijSPyxw==

(三)验证密码是否正确

/***//**判断用户密码是否正确*@paramnewpasswd用户输入的密码*@paramoldpasswd数据库中存储的密码--用户密码的摘要*@return*@*@*/publicbooleancheckpassword(Stringnewpasswd Stringoldpasswd) UnsupportedEncodingException {if(EncoderByMd (newpasswd) equals(oldpasswd))returntrue;elsereturnfalse;} lishixin/Article/program/Java/hx/201311/26374

热点内容
米思齐编译失败怎么看 发布:2025-03-12 19:26:27 浏览:847
sql语句notexists 发布:2025-03-12 19:16:11 浏览:59
快手安卓版如何玩 发布:2025-03-12 19:15:26 浏览:35
scott数据库 发布:2025-03-12 19:15:19 浏览:872
rom服务器是什么 发布:2025-03-12 19:10:27 浏览:61
我给你改个密码叫什么 发布:2025-03-12 19:09:32 浏览:673
宽带密码在手机上如何更改 发布:2025-03-12 19:07:52 浏览:115
python离线安装pip 发布:2025-03-12 19:06:18 浏览:28
超时代加密视频破解 发布:2025-03-12 19:03:10 浏览:95
服务器怎么做游戏 发布:2025-03-12 18:57:30 浏览:615