- 浏览: 89932 次
- 性别:
- 来自: 鞍山
最新评论
-
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 1080电脑开机启动时听到机箱小喇叭发出的各种不同的“嘟”声,其实这是 ... -
(转)win xp启动蓝屏代码说明
2011-11-11 10:11 1218一、0X0000000A 这个蓝屏代码和硬件无关,是驱 ... -
word报错,需要进入安全模式才能启动
2011-03-21 15:04 1090一、问题原因:word只能用安全模式才能打开双击word文件后 ... -
解决软件安装“无法使用此产品的安装源,请确认安装源存在并且你可以访问它”
2011-03-21 15:01 7049有时候,我安装某些软件的时候,会出现以下信息“无法使用此产 ... -
用javascript 判断IE窗口是否打开
2010-10-28 17:38 1465点击父页面上的按钮,打开一个新的页面(子页面),如果子页 ... -
IE与FF兼容在JS方面要注意的一些问题
2010-10-13 09:09 860关于IE、Firefox、Opera页 ... -
将MSSQL中的表数据导出为SQL语句
2010-10-12 16:11 2654drop proc proc_insert go crea ... -
js只能输入数字和小数点
2010-09-21 16:58 10421 第一个输入必须是数字,不能是小数点。例如.111 2 不能 ... -
css控制打印内容样式
2010-08-26 14:01 930<style type="text/css ... -
java读写properties文件(转)
2010-06-22 18:06 710直接代码,注释比较详 ... -
(转)软件界面设计经验
2010-06-12 10:30 852在我的记忆中,很多项 ... -
(转)IDEA快捷键
2010-06-12 10:25 740在使用InelliJ IDEA的过程中,通过查找资料以及一些自 ... -
iframe高度自适应(转载)
2010-05-11 15:52 875正在踌躇的时候发现下面的这段代码,终于得意解决。苦于对js没有 ... -
PHP5.3.2+APACHE2.2
2010-04-27 23:39 885Apache的安装与配置 打开apache官方网站 http ... -
可编辑下拉框
2010-04-07 08:24 1562可编辑的下拉框,由input和select组合成,将slele ... -
EditPlus配置JAVA开发环境
2010-03-24 17:47 1026初学者更适合使用文本编辑软件来学习Java,对Java有一定认 ... -
DIV仿frame框架
2010-03-24 13:50 17092行2列 <!DOCTYPE html PUBLIC & ... -
JS弹出窗口
2010-03-24 11:18 865<!DOCTYPE html PUBLIC " ... -
js分页代码
2010-03-24 10:47 2642<!doctype html public " ... -
div居中的一种方法
2010-03-23 21:32 1092以前用表格布局时设置网页居中非常方便,把表格对齐方式设 ...
相关推荐
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加密,更创新性地接纳String... inputStrs,让你能一次性加密多个字符串。 1. 一键加密,多值无忧 告别繁杂,拥抱简洁。我们的Java MD5加密工具类以String... inputStrs为武器,打破了...
能直接在java的应用程序中使用的MD5加密实现的jar包, 调用方法:转化成MD5:MD5.getEncryptedPwd(user.getPassword()) MD5验证:MD5.validPassword(password, user.getPassword())
用java封装的MD5加密工具包,创建对象,传递要加密的字符串,即可返回32位大写的MD5加密后的字符串
java MD5 加密 完整源代码 经本人测试 运行完全没问题
java MD5 加密
java md5 加密功能类,16 32位均支持。初次封类,如有不满意的地方,请大家谅解