JAVA加密算法实现用例 消息摘要
来源:互联网 发布:网络系统集成课程设计 编辑:程序博客网 时间:2024/06/05 06:48
一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于 SHA1 是产生一个 20 字节的二进制数组)。
消息摘要有两个基本属性:
两个不同的报文难以生成相同的摘要
难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要
代表:美国国家标准技术研究所的 SHA1 和麻省理工学院 Ronald Rivest 提出的 MD5
package test;import java.security.MessageDigest;public class SHA_MD5 {public static void main(String[] args) {SHA_MD5 my = new SHA_MD5();my.testDigest();}@SuppressWarnings("static-access")public void testDigest() {try {String myinfo = "我的测试信息";// MessageDigest alga = MessageDigest.getInstance("MD5");MessageDigest alga = MessageDigest.getInstance("SHA-1"); // 生成一个 MessageDigest 类 , 确定计算方法alga.update(myinfo.getBytes()); // 添加要进行计算摘要的信息byte[] digesta = alga.digest(); // 计算出摘要,(对于MD5是16位,SHA是20位)System.out.println("本信息摘要是 :" + byte2hex(digesta));// 其他人用相同的方法初始化,添加信息,最后进行比较摘要是否相同MessageDigest algb = 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 = (Integer.toHexString(b[n] & 0XFF));if (stmp.length() == 1)hs = hs + "0" + stmp;elsehs = hs + stmp;if (n < b.length - 1)hs = hs + ":";}return hs.toUpperCase();}}
请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/ !
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
0 0
- JAVA加密算法实现用例 消息摘要
- JAVA下加密算法的实现用例(一)----信息摘要
- 消息摘要加密算法MD
- 消息摘要加密算法SHA
- 消息摘要加密算法MAC
- 用Java实现MD5消息摘要
- Java实现MD5消息摘要算法
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- JAVA上加密算法的实现用例
- Maximum Product Subarray--leetcode
- 在sql server中实现查找一个月中有多少星期天
- Java中信号量 Semaphore
- 竞态条件与临界区
- RCP获取资源工具类
- JAVA加密算法实现用例 消息摘要
- 啊是的覅就看来就阿桑地方快乐撒地方
- JAVA加密算法实现用例 数字签名
- 禁止EditText 输入粘贴版内容
- JAVA加密算法实现用例 密钥一致协议
- zTree 改变指定节点文本样式
- 啊速度发来卡快啦水电费
- Freemarker 入门示例
- Python学习笔记之1 - 程序之道