一个关于md5的问题

问题描述

importjava.security.*;publicclasssdsds{publicstaticbyte[]MD5(StringrStr){try{MessageDigestmd5=MessageDigest.getInstance("md5");md5.update(rStr.getBytes());returnmd5.digest();}catch(Exceptione){e.printStackTrace();}returnnull;}publicstaticvoidmain(String[]ddd){byte[]xx=MD5("abcdfe");for(inti=0;i<xx.length;i++){System.out.print(xx[i]);}}}

结果怎么是:-21766729113-5982-94-6822-6-729786115-114?郁闷啊。。。用C#计算的结果:23576672911319782162188222501849786115142闷

解决方案

解决方案二:
不稀奇--不一样是好事!
解决方案三:
byte[]xx=MD5("abcdfe");

确定你的C#里不是加密的"abcdef"??
解决方案四:
你确定你的算法是MD5?MD5算法不管算什么算出来的位数应该是一样的,常见的md5-16和md5-32,计算字符串"admin"32:21232f297a57a5a743894a0e4a801fc316:7a57a5a743894a0e用这个结果验证一下算法有效性
解决方案五:
引用2楼mouer的回复:

Javacodebyte[]xx=MD5("abcdfe");确定你的C#里不是加密的"abcdef"??

不是c#只是byte[]buffer=md.ComputeHash(Encoding.Default.GetBytes(input));StringBuilderbuilder=newStringBuilder();for(inti=0;i<buffer.Length;i++){Console.Write(buffer[i]);builder.Append(buffer[i].ToString("x2"));}

我把byte数组输入了。和java输出的不一样啊但是builder.ToString()的结果一样MD5都一样

时间: 2024-12-21 12:21:31

一个关于md5的问题的相关文章

一个实现MD5的简洁的java类

由于消息摘要唯一性和不可逆性的特点,所以不失为一种简单的常用的加密手段,比如你可以用md5来加密你的应用中的用户口令. package test; import java.security.MessageDigest; /**  * <p>Title: </p>  * <p>Description: </p>  * <p>Copyright: Copyright (c) 2003</p>  * <p>Company: &l

【VB】MD5算法

昨天才真正搞懂,ASP.NET和ASP是不同的!! google上搜了下,感觉这个介绍的挺好的: ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强.ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型.面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 1.代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力

用Swift实现MD5算法&amp;amp;引入第三方类库(MBProgressHUD)

之前项目里面是用objc写的MD5加密算法,最近在用swift重写以前的项目,遇到了这个问题.好在最后解决了.顺带解决掉的还有如何引入第三方的类库,例如MBProgressHUD(SVProgressHUD)等一些特别好的控件 解决的方法其实是用objc和swift混合编程的方法,利用Bridging-header文件. 什么是Briding-header?你可以简单的理解为在一个用swift语言开发的工程中,引入objective-c文件是需要做的一个串联文件,好比架设了一个桥,让swift中

字符串的MD5值为什么和JAVA文件的编码有关呢?

问题描述 如果这样的话,那岂不MD5签名会出现误判的情况呀?明明签名对了,但是因为客户端和服务器的编码格式不一样,判为错误 解决方案 指定统一的编码,而不是使用系统默认编码.计算一个字符串MD5时,会先得到该字符串的byte数组,如果不手动指定编码会调用String->getBytes(),该方法的API说明如下:Encodes this {@code String} into a sequence of bytes using the platform's default charset, s

iOS MD5加密

哈哈!先上理论篇: MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改.比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如: MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461 这就是tanajiya.tar.gz文件的数字签名.MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个

用MD5加密后 能 解密吗 ?

问题描述 用MD5加密后能解密吗?还有有________这样形式的输入控件吗在ASP.NET中? 解决方案 解决方案二:1.md5理论上不可逆,但是网上也有很多可破解的网站.2.可以使用css来调整样式.解决方案三:不能.有些网站,让你输入原文和散列值,然后存在数据库里.等你再进行所谓的"解密"时,它搜索一下数据库.这叫解密?这叫蒙人.比如说你随便找一份销售合同来,得到它的md5值,你能说有哪一个公司的哪一份销售合同跟别的合同是一模一样的?可是这种网站骗某些人的原因,是因为这些人基本上

python编码最佳实践之总结

该文章转自阿里巴巴技术协会(ATA) 作者:空溟    相信用python的同学不少,本人也一直对python情有独钟,毫无疑问python作为一门解释性动态语言没有那些编译型语言高效,但是python简洁.易读以及可扩展性等特性使得它大受青睐.      工作中很多同事都在用python,但往往很少有人关注它的性能和惯用法,一般都是现学现用,毕竟python不是我们的主要语言,我们一般只是使用它来做一些系统管理的工作.但是我们为什么不做的更好呢?python zen中有这样一句:There s

毒霸员工乱弹:杀毒市场会走免费之路?

有朋友转来一奇文,一看,原来是互联网扯淡的大作.文章称,瑞星免费了,江民金山必然先发疯后跟风.瑞星免费,看来是被周鸿祎说服的. 杀毒软件免费,有几条路?从我知道的情况,有这几种: 1.几乎所有杀毒软件的查毒功能免费,各厂商还把自己的查毒引擎通过第三方平台发布,提供公开的免费检查服务. 2.所有杀毒软件即将发行的测试版本是免费的: 3.厂商会在特殊商业环境发行免费版本,比如金山毒霸在日本免费一年,瑞星08新版免费3个月: 4.该厂商在杀毒软件市场不占主流,为争抢市场份额,对个人消费类产品免费,对企

你会做Web上的用户登录功能吗?

  Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能.下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录功能.以下内容,转载时请保持原文一致,并请注明作者和出处 . 用户名和口令 首先,我们先来说说用户名和口令的事.这并不是本站第一次谈论这个事了.如何管理自己的口令让你知道怎么管理自己的口令,破解你的口令让你知道在现