首先我们来看一下Java是如何实现MD5的:
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Digest {
private static MessageDigest md5=null;
public static String getDigest(String msg) throws UnsupportedEncodingException, NoSuchAlgorithmException {
if(null == md5) {
md5=MessageDigest.getInstance("MD5");
}
byte[] byteArray=null;
byteArray=msg.getBytes();
byte[] md5Bytes=md5.digest(byteArray);
StringBuffer hexValue=new StringBuffer();
for(int i=0; i < md5Bytes.length; i++) {
int val=((int)md5Bytes[i]) & 0xff;
if(val < 16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String []args) throws UnsupportedEncodingException, NoSuchAlgorithmException{
System.out.println(getDigest("test测试"));
}
}
通过上面的代码我们会发现一个问题:
byteArray=msg.getBytes();
在不同的环境下获得的结果可能是不一样的,这样也造成很多MD5结果不一样。
所以要保证在不同环境下MD5结果相同那么必须使用相同的字符编码,比如:byteArray=msg.getBytes("ISO-8859-1");
分享到:
相关推荐
一、md5加密 1. 背景 在网络传输、设备之间转存...md5校验,有很小的概率不同的文件生成的md5可能相同。比md5更安全的校验算法还有SHA*系列的。 在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件
本实例在实现时主要用到了MD5类的ComputeHash 方法,下面对其进行详细讲解。 MD5 类表示MD5 哈希算法的所有实现均从中继承的抽象类,该类位于System.Security.Cryptography 命名 空间下,其ComputeHash 方法有3种...
C、MD5数字签名 D、MD5加密 下面___B____属于对称加密算法。 A、数字签名 B、序列算法 C、RSA算法 D、数字水印 数字签名技术是公开密钥算法的一个典型应用,在发送端,采用__B_____对要发送的信息进行数字签名。 ...
SoftConfig.ini是数据库配置文件,主程序(信息集成管理平台 MyForm)和配置程序(核心参数配置中心 SoftInitializationControl)都要用到,其中关于SQL连接密码已经通过DES算法进行加密,具体实现方法可以在主程序...
最好在网站根目录下运行本系统 如果运行时提示以下错误: <authentication mode="Windows" /> 解决方法如下: 打开管理工具--Internet 信息服务, 找到放本系统的网站程序文件夹,右键选属性, 点"目录"或"主目录...
SoftConfig.ini是数据库配置文件,主程序(信息集成管理平台 MyForm)和配置程序(核心参数配置中心 SoftInitializationControl)都要用到,其中关于SQL连接密码已经通过DES算法进行加密,具体实现方法可以在主程序...
AES128/AES192 /AES256 RC2/RC4(算法本身存在漏洞, 可还原加密信息中的纯文) MD2/4/5(可以人为构造出两个 具有相同散列值的数据) SHA256 RSA1024(已有研究机构宣传破 解了本算法) RSA2048 及时跟踪研究业界最新...
发一个功能比较全面的考试系统本系统开发环境是VS2005+SQL2000,是我在实习单位时独立做的一个项目,三层架构,参考了多个考试系统而开发的,题型有单选题、多选题、判断题、填空题和问答题(或者也可以说是简答题)。...
RAR 是一个让你在命令行模式中管理压缩文件的控制台应用。RAR 提供压缩、加 密、数据恢复和许多其它此手册中描述的其它功能。 RAR 只支持 RAR 格式压缩文件,它默认有 .rar 扩展名。不支持ZIP 和其他格 式。即使...
a) 文件时间存储为协调世界时(UTC),替代以前的本地时间,这让文件在不同的时区内 的交流更直观; b) 文件名和压缩文件注释使用 UTF-8 编码。 4. RAR 5.0 恢复记录基于里德-所罗门 ( Reed-Solomon ) 错误纠正...
7、基本上我所学的东西都在这里了,比如密码MD5加密;GridView中CheckBox全选删除、只允许选择一个;GridView鼠标移动行就变色;GridView列字数过多时省略后面的字;删除时弹出是否确定对话框;GridView模板中获取...
可以在极为繁忙的服务器环境下快速稳定运行 在用户资料存储中和传递中,密码全部使用 RSA-MD5 不可逆加密,有效保证论坛及用户资料的安全. 专门为脆弱页面设计了防刷新系统,自动阻止恶意访问和攻击. Discuz! 独有的...
7、基本上我所学的东西都在这里了,比如密码MD5加密;GridView中CheckBox全选删除、只允许选择一个;GridView鼠标移动行就变色;GridView列字数过多时省略后面的字;删除时弹出是否确定对话框;GridView模板中获取...
进入时的帐户口令保存在注册表中,通过MD5算法加密,密钥串中包含了“用户的帐户信息+特定字符串”的方式,为破解增加了一定的难度;在语音聊天里(即通过声卡和麦克风的语音聊天),通过动态huffman编码来压缩...
7、基本上我所学的东西都在这里了,比如密码MD5加密;GridView中CheckBox全选删除、只允许选择一个;GridView鼠标移动行就变色;GridView列字数过多时省略后面的字;删除时弹出是否确定对话框;GridView模板中获取...
第1章 开发环境 1 1.1 Visual Studio开发环境安装与配置 2 0001 安装Visual Studio 2005开发环境须知 2 0002 配置合适的Visual Studio 2005开发环境 2 0003 设置程序代码行序号 3 0004 开发环境全屏...
在 e:\text 目录下的 rar 压缩文件中搜索十六进制字符串 f0 e0 ae ae ab 2d 83 e3 a9。 k 锁定压缩文件。任何试图改变压缩文件的命令都会被忽略。 例子: rar k final.rar l[t,b] 压缩文件的内容列表...
在 Windows 中,它名为 rar.log,放在 rar.exe 文件相同的目录中。开关 -ilog 允 许改变默认的日志名。 固实压缩的文件列表 - rarfiles.lst ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rarfiles.lst 包含...
来自同一Shellcode的加载器的md5不同,因为生成器使用时间作为种子来随机生成128位密钥进行加密。待办事项清单环境:生成器使用MFC来实现UI,生成器和加载器模板使用C ++开发,并由VS2015静态编译。 方法:使用vs...
实例286 MD5加密 412 实例287 RSA加密 419 实例288 DES加密 420 实例289 RC4加密 424 实例290 SHA1加密 427 实例291 恺撒加密 432 第11章 游戏 435 实例292 猜数字游戏 436 实例293 24点游戏 438...