JDK自带的MD5加密应用实例(代码可直接复制使用)

本文介绍了MD5作为一种信息摘要算法的基本概念,强调其不可逆性,并提供了两个Java方法,分别用于生成小写和大写加数字的MD5加密字符串。通过示例代码,展示了如何在Java中实现MD5加密,建议读者深入理解MD5的工作原理。
摘要由CSDN通过智能技术生成

1.先大致说一下什么是MD5加密。MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),看了很多大神的文章,自己有了点理解 ,MD5其实不算是加密算法,而是一种信息的摘要。它的特性是不可逆的,所以除了暴力破解 一般逆序算法是得不到结果的。举个例子:比如1+99=100,MD5接到的字符是1和99 然后通过自己的算法最后生成100 但知道结果是100却很难推测出是通过1+99得来的。再比如 一本书的每一页取一个字,最后通过计算得出一个MD5码,但却很难通过这个MD5码去推测出这本书的内容。这也就是MD5的不可逆的原因。举的例子和对MD5的理解仅代表本人自己的观点,如有错误还请各位大神批评指正。


2.这篇文章不讨论复杂的MD5的算法实现,由于本人并非科班出生,只是在项目中要用所以大致使用了一下,具体原理等以后有空闲时间慢慢研究。话不多说,直接上代码。


3.分享两个方法①getMD5() 和  ②MD5(),传入要加密的字符str,返回加密成功的字符 .  方法①生成的是小写字母+数字,方法②生成的是大写字母+数字,方法2要是想得到小写字母+数字就把hexDigits数组中的大写换成小写。 大小写可以通过String类的方法处理


[java]  view plain  copy
  1. package com.nebula.app.app.common.utils;  
  2.   
  3. import java.math.BigInteger;  
  4. import java.security.MessageDigest;  
  5.   
  6. public class AppMD5Util {  
  7.       
  8.      /** 
  9.      * 对字符串md5加密(小写+字母) 
  10.      * 
  11.      * @param str 传入要加密的字符串 
  12.      * @return  MD5加密后的字符串 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值