- 浏览: 91110 次
- 性别:
- 来自: 鞍山
最新评论
-
mqlfly2008:
这个时钟会不会在页面访问后,客户端调节了时间,从而让时间不准确 ...
js取服务器时间显示时钟 -
chendu135:
这个挺好,可不可以在match()里面判断下一,除了字母或者汉 ...
js获取字符串长度(区分中英文)
MD5的全称是Message-Digest Algorithm 5,Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被"篡改"。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的"抵赖",这就是所谓的数字****应用。
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不"知道"用户的密码是什么。
MD5理论上是一种单向的哈希散列,一些黑客破获这种密码的方法是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。
即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)....+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。
网上收集
import java.security.MessageDigest; public class Test_MD5{ public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; try { byte[] strTemp = s.getBytes(); //使用MD5创建MessageDigest对象 MessageDigest mdTemp = MessageDigest.getInstance("MD5"); mdTemp.update(strTemp); byte[] md = mdTemp.digest(); int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte b = md[i]; //System.out.println((int)b); //将没个数(int)b进行双字节加密 str[k++] = hexDigits[b >> 4 & 0xf]; str[k++] = hexDigits[b & 0xf]; } return new String(str); } catch (Exception e) {return null;} } //测试 public static void main(String[] args) { System.out.println("caidao的MD5加密后:\n"+Test_MD5.MD5("caidao")); System.out.println("http://www.baidu.com/的MD5加密后:\n"+Test_MD5.MD5("http://www.baidu.com/")); } }
import java.security.MessageDigest; public class Test_MD5{ public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; try { byte[] strTemp = s.getBytes(); //使用MD5创建MessageDigest对象 MessageDigest mdTemp = MessageDigest.getInstance("MD5"); mdTemp.update(strTemp); byte[] md = mdTemp.digest(); int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte b = md[i]; //System.out.println((int)b); //将没个数(int)b进行双字节加密 str[k++] = hexDigits[b >> 4 & 0xf]; str[k++] = hexDigits[b & 0xf]; } return new String(str); } catch (Exception e) {return null;} } //测试 public static void main(String[] args) { System.out.println("caidao的MD5加密后:\n"+Test_MD5.MD5("caidao")); System.out.println("http://www.baidu.com/的MD5加密后:\n"+Test_MD5.MD5("http://www.baidu.com/")); } }
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被"篡改"。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的"抵赖",这就是所谓的数字****应用。
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不"知道"用户的密码是什么。
MD5理论上是一种单向的哈希散列,一些黑客破获这种密码的方法是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。
即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)....+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。
网上收集
发表评论
-
(转)电脑开机报警说明
2011-11-11 10:31 1096电脑开机启动时听到机箱小喇叭发出的各种不同的“嘟”声,其实这是 ... -
(转)win xp启动蓝屏代码说明
2011-11-11 10:11 1230一、0X0000000A 这个蓝屏代码和硬件无关,是驱 ... -
word报错,需要进入安全模式才能启动
2011-03-21 15:04 1102一、问题原因:word只能用安全模式才能打开双击word文件后 ... -
解决软件安装“无法使用此产品的安装源,请确认安装源存在并且你可以访问它”
2011-03-21 15:01 7178有时候,我安装某些软件的时候,会出现以下信息“无法使用此产 ... -
用javascript 判断IE窗口是否打开
2010-10-28 17:38 1472点击父页面上的按钮,打开一个新的页面(子页面),如果子页 ... -
IE与FF兼容在JS方面要注意的一些问题
2010-10-13 09:09 884关于IE、Firefox、Opera页 ... -
将MSSQL中的表数据导出为SQL语句
2010-10-12 16:11 2669drop proc proc_insert go crea ... -
js只能输入数字和小数点
2010-09-21 16:58 10551 第一个输入必须是数字,不能是小数点。例如.111 2 不能 ... -
css控制打印内容样式
2010-08-26 14:01 961<style type="text/css ... -
java读写properties文件(转)
2010-06-22 18:06 723直接代码,注释比较详 ... -
(转)软件界面设计经验
2010-06-12 10:30 866在我的记忆中,很多项 ... -
(转)IDEA快捷键
2010-06-12 10:25 766在使用InelliJ IDEA的过程中,通过查找资料以及一些自 ... -
iframe高度自适应(转载)
2010-05-11 15:52 886正在踌躇的时候发现下面的这段代码,终于得意解决。苦于对js没有 ... -
PHP5.3.2+APACHE2.2
2010-04-27 23:39 897Apache的安装与配置 打开apache官方网站 http ... -
可编辑下拉框
2010-04-07 08:24 1571可编辑的下拉框,由input和select组合成,将slele ... -
EditPlus配置JAVA开发环境
2010-03-24 17:47 1032初学者更适合使用文本编辑软件来学习Java,对Java有一定认 ... -
DIV仿frame框架
2010-03-24 13:50 17282行2列 <!DOCTYPE html PUBLIC & ... -
JS弹出窗口
2010-03-24 11:18 903<!DOCTYPE html PUBLIC " ... -
js分页代码
2010-03-24 10:47 2658<!doctype html public " ... -
div居中的一种方法
2010-03-23 21:32 1100以前用表格布局时设置网页居中非常方便,把表格对齐方式设 ...
相关推荐
java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密...
java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法...
java md5 加密后转为16进制
2. **Java中的MD5加密**:在Java中,可以使用`java.security.MessageDigest`类来实现MD5加密。首先,需要创建一个MD5实例,然后更新要加密的字节数组,最后获取并转换成十六进制字符串。 ```java import java....
Java Md5加密工具类
java中的md5加密函数,已经封装成类和函数了,非常好用。
Java MD5 加密是一种常见的数据哈希处理技术,用于生成固定长度的数字指纹,以确保信息的完整性和安全性。MD5(Message-Digest Algorithm 5)由Ronald Rivest在1991年设计,虽然它现在被认为在某些场景下不够安全,...
下面是一个简单的Java MD5加密的代码示例,对应于你提供的`TestMD5.java`文件: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class TestMD5 { public ...
下面我们将详细讨论Java中MD5加密的原理、使用场景以及如何实现。 MD5加密的基本原理: MD5算法是一种非对称的加密算法,它将输入的信息通过一系列复杂的数学运算,最终得到一个128位的摘要信息,通常以32位的16...
在Java中,实现MD5加密通常需要用到`java.security.MessageDigest`类。下面我们将详细探讨如何在Java环境中使用MD5进行密码加密: 1. 导入必要的库: 首先,我们需要导入`java.security.MessageDigest`和`java....
**JAVA MD5加密** MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的输入转化为固定长度的输出,通常是一个128位的二进制数,以32位十六进制数的形式表示。在JAVA中,MD5主要用于数据的...
在Java中,可以使用java.security.MessageDigest类来实现MD5加密。以下是一个简单的MD5加密步骤: 1. 引入`java.security`包和`javax.crypto`包。 2. 创建`MessageDigest`实例,指定算法为MD5。 3. 更新要加密的...
js java MD5加密 解决中文不一致问题 验签 只有英文 数字的可以忽略了
能直接在java的应用程序中使用的MD5加密实现的jar包, 调用方法:转化成MD5:MD5.getEncryptedPwd(user.getPassword()) MD5验证:MD5.validPassword(password, user.getPassword())
Java工具类,它不仅实现了MD5加密,更创新性地接纳String... inputStrs,让你能一次性加密多个字符串。 1. 一键加密,多值无忧 告别繁杂,拥抱简洁。我们的Java MD5加密工具类以String... inputStrs为武器,打破了...
用java封装的MD5加密工具包,创建对象,传递要加密的字符串,即可返回32位大写的MD5加密后的字符串
java MD5 加密 完整源代码 经本人测试 运行完全没问题