- 浏览: 996295 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。
MessageDigest 对象开始被初始化。该对象通过使用 update()方法处理数据。任何时候都可以调用 reset()方法重置摘要。一旦所有需要更新的数据都已经被更新了,应该调用digest() 方法之一完成哈希计算。
对于给定数量的更新数据,digest 方法只能被调用一次。在调用 digest 之后,MessageDigest 对象被重新设置成其初始状态。
1、public static MessageDigest getInstance(String algorithm)
throws NoSuchAlgorithmException 返回实现指定摘要算法的 MessageDigest 对象。 algorithm - 所请求算法的名称2、public static MessageDigest getInstance(String algorithm,
String provider)
throws NoSuchAlgorithmException,
NoSuchProviderException 返回实现指定摘要算法的 MessageDigest 对象。 algorithm - 所请求算法的名称 provider - 提供者的名称。3、public void update(byte[] input) 使用指定的 byte 数组更新摘要。 4、public byte[] digest() 通过执行诸如填充之类的最终操作完成哈希计算。在调用此方法之后,摘要被重置。5、public static boolean isEqual(byte[] digesta,
byte[] digestb)
比较两个摘要的相等性。做简单的字节比较。 注意:Provider可以通过 java.security.Security.getProviders()
方法获取已注册提供者列表。比较常用的有“SUN”SUN提供的常用的算法名称有:MD2 MD5 SHA-1 SHA-256 SHA-384 SHA-512 Code举例:
import java.security.*; public class myDigest { public static void main(String[] args) { myDigest my=new myDigest(); my.testDigest(); } public void testDigest() { try { String myinfo="我的测试信息"; //java.security.MessageDigest alg=java.security.MessageDigest.getInstance("MD5"); java.security.MessageDigest alga=java.security.MessageDigest.getInstance("SHA-1"); alga.update(myinfo.getBytes()); byte[] digesta=alga.digest(); System.out.println("本信息摘要是:"+byte2hex(digesta)); //通过某中方式传给其他人你的信息(myinfo)和摘要(digesta) 对方可以判断是否更改或传输正常 java.security.MessageDigest algb=java.security.MessageDigest.getInstance("SHA-1"); algb.update(myinfo.getBytes()); if (algb.isEqual(digesta,algb.digest())) { System.out.println("信息检查正常"); } else { System.out.println("摘要不相同"); } } catch (java.security.NoSuchAlgorithmException ex) { System.out.println("非法摘要算法"); } } public String byte2hex(byte[] b) //二行制转字符串 { String hs=""; String stmp=""; for (int n=0;n<b.length;n++) { stmp=(java.lang.Integer.toHexString(b[n] & 0XFF)); if (stmp.length()==1) hs=hs+"0"+stmp; else hs=hs+stmp; if (n<b.length-1) hs=hs+":"; } return hs.toUpperCase(); } }
其实就是将信息加密,然后传输后,再进行检验是否是原来的信息,看会不会有人改了。
发表评论
-
Java线程(二):线程同步synchronized和volatile(转)
2014-03-17 00:09 881转载自:http://blog.csdn.net/ghsau ... -
浅谈Java多线程的同步问题(l转)
2014-03-17 00:07 917非常好的使用线程同步的文章 转载自http://www.c ... -
JVM的垃圾回收机制详解和调优(转)
2013-06-20 10:31 7151.JVM的gc概述 gc即垃圾 ... -
深入探讨 Java 类加载器(转)
2013-06-20 10:17 873转载自:http://www.ibm.com/develop ... -
java反射详解(推荐转)
2013-05-15 10:42 880载自:http://www.cnblogs.com/roll ... -
java静态方法、非静态代码块{}、静态代码块static{}(转)
2012-07-13 14:33 1476转自:http://www.cn-java.com/www1/ ... -
error 与 Exception区别(转)
2012-07-13 14:31 1079Error类和Exception类都继承自Throwab ... -
java面试题有哪些常见的(转)
2012-07-13 14:30 1197第一,谈谈final, finally, finaliz ... -
java Math.round()(转)
2012-07-11 14:17 1182public class MathTest { ... -
Java异常的分类(转)
2012-07-11 08:57 1045转载自:http://blog.csdn.net/ilibab ... -
java 内联函数(转)
2012-06-28 23:40 1824以前用过C++,知道它 ... -
堆栈,堆栈,堆和栈的区别(转)
2011-05-08 00:36 1184不防看看这篇文章:http://www.cppblog.com ... -
第二十章 指针 二 为指针分配和释放空间(转)
2011-05-08 00:10 1488载自<白话c++>:http://17de.com ... -
数据结构中各种时间复杂度(转)
2011-05-06 09:58 2793(1)冒泡排序 冒泡排序就是把小的元素往 ... -
C#之int挑战Java之Integer(转)
2011-04-28 14:24 1334可能有些图会看不到,可以到转载处去阅读:http://kb.c ... -
Java: 堆 & 栈(转)
2011-04-28 14:16 1390栈是运行时的单位,而堆是存储的单位。栈解决程序的运行问题,即程 ... -
native2ascii 使用方法 及 Java字符编码(转)
2011-04-18 01:17 2716在做Java开发的时候,常 ... -
Unicode,ISO-8859,GBK,UTF-8编码及相互转换(java)(转)
2011-04-18 01:15 68761、函数介绍在Java中,字符串用统一的Unicode编码 ... -
GBK与UTF-8 转换乱码详解(转)
2011-04-18 01:07 3447getBytes 的功能是将字符转换成字节数组, gbk. ... -
Java TreeMap的简单实现(转)
2011-04-18 00:29 1098TreeMap的实现与二叉搜索树显示,其对应的节点格式为 E ...
相关推荐
本文中,我们简要介绍了Java MessageDigest类,并提供了一个使用SHA-256算法计算哈希值...通过本文的学习,读者应该能够理解Java MessageDigest的基本用法,并可以在自己的项目中应用它。希望本文能够对读者有所帮助。
本文简要介绍了Java中的MessageDigest类以及其digest()方法的使用。MessageDigest是Java中用于计算加密哈希值的工具,通过使用不同的哈希算法,可以生成不同长度的哈希值。digest()方法是其中的一个核心方法,它返回...
我们通过一个使用 SHA-256 算法计算字符串散列值的实例来说明该方法的用法。SHA-256 是一个常用的加密算法,能够生成较长且具有强安全性的散列值。当然,Java 提供了多种其他加密算法供选择,开发者可以根据实际需求...
对文件以及内容获取MD5 Sha-1 SHA1_Digest 摘要信息,并可选进行base64编码, SHA1_Digest 为apk MANIFEST.MF 中信息的摘要方式 /** * 得到文件摘要信息 * * @Description: * @param file ...
MessageDigest md = MessageDigest.getInstance("SHA1"); String MsgtoDigest="renhl252,dajiahao adjjasasoasoasoadoadao" +"renhl252,dajiahao adjjasasoasoasoadoadao" +"renhl252,dajiahao ...
MessageDiges java MD5 java加密
ava.security.MessageDigest...MessageDigest 对象通过使用 update 方法处理数据。任何时候都可以调用 reset 方法重置摘要。一旦所有需要更新的数据都已经被更新了,应该调用 digest 方法之一完成哈希计算并返回结果。
public static String md5(String str) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(str.getBytes()); byte b[] = md.digest();
* 功能:对一个字符串进行md5加密 */ public class EncryptUtil { /** * 对字符串加密的方法 * @param str * @return */ public static String toMessageDigest(String str) { try { MessageDigest...
主要介绍了Java中MessageDigest来实现数据加密的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了Java自带的加密类MessageDigest类代码示例,分享了常见的三种加密方式代码示例,具有一定参考价值,需要的朋友可以了解下。
主要介绍了java自带的MessageDigest实现文本的md5加密算法,需要的朋友可以参考下
MessageDigest 类提供信息摘要算法的功能,他是抽象类,需要MessageDigest.getInstance才能拿到MessageDigest的对象。以MD5为例下面是我碰到的问题以及解决方式 ##注意点1.拿到对象 他是抽象类,需要 ...
sha1-md5 加密源代码 ,可以直接加入用
java.security包中的MessageDigest类提供了计算消息摘要的方法, 首先生成对象,执行其update( )方法可以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。
javascript md5摘要算法的实现
总结MessageDigestTest中的一些用法。
7.3.3 java.security.MessageDigest 122 7.3.4 java.security.Signature 123 7.3.5 算法参数 124 7.3.6 java.security.Key和java.security. spec.KeySpec 126 7.3.7 java.security.KeyFactory和java. security....
MD5消息摘要,对消息进行摘要,并进行摘要验证,最后输出消息摘要的结果
。 * 介绍 这是一个实现消息摘要算法 MD5 的 C++ 类。该算法的目的是计算给定位串的哈希值。MD5 产生一个 16 字节(128 位)的散列。 MD5 哈希已被证明在加密上容易受到各种攻击(谷歌它们),因此不应用于安全...