MD5算法了解(JAVA实现)
MD5算法:尽管已经被破解,但任然广泛应用于各个领域中
如文件校验:当我们下载文件时为了保证文件的安全性,我们能够在其站点上找到相应的md5值进行校验,假设md5值不一致,也就是说文件被人动过(一般都是挂马了),所以文件校验领域应用十分广泛。
如数字签名证书,当我们訪问12306时,常常会出现该站点证书已过期,问你是否继续訪问。在普通情况下是自己的电脑时间设置不对。但除开这样的情况也就是你訪问的站点不是同一个站点。
还有就是当作密钥,这个在我们生活中还算比較的经常使用,由于md5算法开源。我们能够免费使用。并且在没有密钥的情况下破解成本较高,在普通情况下我们都还是採用md5算法
package com.jack.md5; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class MD5Util {
public static final String MD5(String src) {
//char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; byte[] input = src.getBytes(); try {
MessageDigest digest = MessageDigest.getInstance("MD5");
//官方说法更新摘要
//个人理解:就是找到要加密的字符串,放置到update()中等待digest()方法进行产出
//就像是在机器的两头:一头的将原材料放进去,一头是产品的输出
//获取输入
digest.update(input);
//获得产出
input = digest.digest(); //以下就是进行十六进制的转换
int length = input.length;
StringBuffer strBuff = new StringBuffer();
for(int i = 0;i<length;i++)
{
//将字符转变成相应的ASSIC值
int val = ((int)input[i])&0xff;
//转变成相应的值后小于4位
if(val<16)
{
strBuff.append("0");
}
strBuff.append(Integer.toHexString(val));
// strBuff.append(hexDigits[val%16]);
} return strBuff.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} return src;
}
}
MD5算法了解(JAVA实现)的更多相关文章
- Java利用MessageDigest提供的MD5算法加密字符串或文件
MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性.用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm).另外还有一种常用的消息摘要算法SHA1.如果想了 ...
- Java 实现Md5算法
package other; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/* * ...
- Java基础-使用JAVA代码剖析MD5算法实现过程
Java基础-使用JAVA代码剖析MD5算法实现过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- password技术应用设计实践-安全信息传输系统(SITS)(用Java实现DES、RSA、MD5算法)
本系统包含五个模块,注冊模块.登录模块.RSA算法模块.DES算法模块.MD5算法模块. 这五个模块每个实现不同的功能. 注冊模块实现将username和password写入文件里,登录模块则负责将其 ...
- 经常使用MD5算法代码
经常使用的MD5算法代码日期: 2014年8月4日作者: 铁锚 MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请參考 维基百科:MD5 MD5加密后 ...
- MD5算法-爬虫学习(五)
在实现爬虫的时候,我们使用Hash结构去存储我们用过的URL的时候,有些URL可能长度很长,为了更加节省空间,我们就要对URL进行压缩,帮它减减肥,这个我们介绍这个MD5算法,可以对URL进行有效的压 ...
- [转]MD5加密算法的java实现
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /* * MD5 算法 */ pu ...
- Md5的加密 java实现
百度百科对MD5的说明是: Message Digest Algorithm MD5(中文名为消息摘要算法第 五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护. MD5即Mess ...
- MD5加密算法的Java版本
网上搜索Java实现MD5的资料很多,错误的也很多. 之前编写的一个阿里云直播鉴权原理算法需要用到MD5算法,网上找了几个,都是不行,浪费了时间,现在贴一个,做备用. import java.secu ...
随机推荐
- [转]Docker容器内不能联网的6种解决方案
注: 下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.8.8.8) 1.使用--net:host选项 sudo docker ...
- 习题:烽火传递(DP+单调队列)
烽火传递[题目描述]烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上.一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息:夜晚燃烧干柴,以火光传递军情.在某两座城市之间有n个烽火台,每个烽火台 ...
- TTL 和 RS-232
下面详细讲解下面这三种的区别 USB转TTL串口板(常用芯片PL2303,CH340) USB转RS-232串口线 TTL转RS-232串口板,RS-232转TTL串口板(常用芯片MAX3232,MA ...
- libcmt.lib和msvcrt.lib冲突,原因和解决方法
libcmt.lib和msvcrt.lib冲突,原因和解决方法 https://blog.csdn.net/longlijun/article/details/7331093 libcmt.lib是w ...
- 利用ROS内建SLAM建立地图
ros中建地图方式有两种: 首先1.首先下载hector_slam包到你工作空间的src下 命令: cd ~/catkin/src git clone https://github.com/tu-da ...
- webpack 样式模块打包深入学习
1. style-loader css-loader sass-loader 分别的作用 style-loader: 将所有的样式嵌入到dom的style属性当中. css-loader: 将css当 ...
- ios - 工具类
这几天看项目,把俺旁边小哥哥的一个工具类相中了,希望对大家有所帮助哦~~~~~~~~~ // // PLZ_Tool.h // // Created by penglaizhi on 2017/7/3 ...
- [AGC002D] Stamp Rally (并查集+整体二分)
Description 给你一个n个点m个条边构成的简单无向连通图,有Q组询问,每次询问从两个点x,y走出两条路径,使这两条路径覆盖z个点,求得一种方案使得路径上经过的变的最大编号最小. Input ...
- Javascript的SEO优化技巧
原文发布时间为:2010-10-22 -- 来源于本人的百度文章 [由搬家工具导入] 1.外部崁入javascript在撰写一些比较复杂的网页特效,如下拉式选单等,会产生大量的javascript码, ...
- updatepanel中使用alert弹出框方法
原文发布时间为:2009-05-17 -- 来源于本人的百度文章 [由搬家工具导入] ScriptManager.RegisterStartupScript(this.UpdatePa ...