Java实现MD5(32/16位大小写)加密
MD5简单介绍
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件名做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。
MD5可以解密吗?
MD5加密原理是散列算法,散列算法也称哈希算法。
比如10除以3余数为一,4除以3余数也为一,但余数为一的就不知道这个数是哪个了。
所以md5不能解密。也是为什么扣扣密码只能重置,不能找回的原因。
上代码
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MD5Util {//待加密的密码public static String password = "zjb0425";public static void main(String args[]) {//结果字符串String result = "";try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(password.getBytes());byte b[] = md.digest();int i;StringBuffer buf = new StringBuffer("");for (int offset = 0; offset < b.length; offset++) {i = b[offset];if (i < 0)i += 256;if (i < 16)buf.append("0");buf.append(Integer.toHexString(i));}result = buf.toString();System.out.println("MD5(" + password + ",32小写) = " + result);System.out.println("MD5(" + password + ",32大写) = " + result.toUpperCase());System.out.println("++++++++++++++++++++++++各位大哥借过+++++++++++++++++++++++");System.out.println("MD5(" + password + ",16小写) = " + buf.toString().substring(8, 24));System.out.println("MD5(" + password + ",16大写) = " + buf.toString().substring(8, 24).toUpperCase());} catch (NoSuchAlgorithmException e) {e.printStackTrace();}}
}
代码结果
MD5(zjb0425,32小写) = 8e31ec4e3c3ae689b164f8ab7b1721f2
MD5(zjb0425,32大写) = 8E31EC4E3C3AE689B164F8AB7B1721F2
++++++++++++++++++++++++各位大哥借过+++++++++++++++++++++++
MD5(zjb0425,16小写) = 3c3ae689b164f8ab
MD5(zjb0425,16大写) = 3C3AE689B164F8AB
转载于:https://www.cnblogs.com/feiqiangsheng/p/10885439.html
Java实现MD5(32/16位大小写)加密相关推荐
- java md5 16位解密_Java实现MD5(32/16位)大小写加密
MD5简单介绍 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法:与之类似,MD5就可以为任何文件(不管其大小.格式.数量)产生一个同样独一无二的&quo ...
- admin密码对应的MD5值,16位和32位,admin解密自己留着方便.
admin密码对应的MD5值,16位和32位,自己留着方便.admin的md5值是多少,常用密码加密md5值,123456,admin,admin888 如果遇到MD5加密文件(一般都是这个),而又不 ...
- 在线生成32位和16位大小写MD5密文
MD5是一种不可逆的加密算法,全称是Message-Digest Algorithm 5(信息-摘要算法).是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一. MD5的典型应用是对一段 ...
- JavaSE——MD5、16位流
2019独角兽企业重金招聘Python工程师标准>>> 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础 ...
- Java16位订单号,Java通过UUID生成16位唯一订单号
小编在工作中遇到了标题中的场景,先查了一些微博,参考下大佬经验.最终发现大家写的都是一套代码,没有太多的信息量做对比,并且UUID的hashcode值重复的概率有多大问题,没有人给解释.小编根据自己经 ...
- C# DES加密类,16位的加密。
这个加密类是与java写的DES加密不同时,自己写的,最后与Java的加密相同了,解决了加密后不同的问题. 可以直接调用里面的加密和解密的方法. using System; using System. ...
- Java Android 32位16位 MD5加密
// md5加密 32位小写 private String Md5(String sourceStr) { String result = ""; try { MessageDig ...
- MD5简单加密实现32位16位字符
package com.kero99.ygc.util;import java.io.UnsupportedEncodingException; import java.math.BigInteger ...
- MD5加密方式和MD5加密后的类型(16位和32位)
文章目录 1. 加密方式 2. 加密后的格式 代码收录 1. 加密方式 MD5一般的加密方式是下面这种方式 public String Md5(String str) {if (str.equals( ...
最新文章
- mysql的优化之table_open_cache 篇_mysql性能优化之table_open_cache
- java中动态代理实现机制
- 百度:土豪投机移动互联
- WPF入门教程系列四——Dispatcher介绍
- [leetcode]从中序与后序/前序遍历序列构造二叉树
- Android Gradle 指定 Module 打包
- VM 网络设置 for xp3
- 100页ppt讲清楚云原生
- python合并两个文本文件内容_Python将多个txt文本合并为一个文本的代码
- 统计学理论—假设检验
- OpenERP的外贸企业ERP方案
- AcWing 327 玉米田 题解 (动态规划—DP—状态压缩DP)
- xpage 传参_一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用。...
- CSDR华为云_浅谈华为云Stack中Global、Region、AZ、资源池以及主机组
- 爱奇艺2017校园招聘笔试题
- 编码(NRZ、NRZI、曼彻斯特、4B/5B)
- Luogu 月赛 P5238 整数校验器
- java空对象怎么判断,java怎么判断对象为空
- 甲乙轮流抛硬币,正面胜,先抛的人优势多大?
- 青年台胞夏令营活动.长城颐和园一日游