MD5 加密/解密算法工具类 MD5加码 生成32位md5码

做登录注册页面输入密码后,存储加密后的密码到数据库保密用的

由于MD5是单向加密型 也就是只能加密不能解密 所以应该把用户的密码加密后与数据库的密码对照 即可登录

package top.lolcl.myblog.util;import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;/*** MD5 加密/解密算法工具类 MD5加码 生成32位md5码 * 做登录注册页面输入密码后,存储加密后的密码到数据库保密用的* @author sanch**/
public class MyMD5Util {/*** 第一种方式* 加盐方式*/public static String md5password(String password) {try {//得到一个信息摘要器MessageDigest digest = MessageDigest.getInstance("md5");byte[] result = digest.digest(password.getBytes());StringBuffer buffer = new StringBuffer();//把每一个byte做一个与运算0xff;for(byte b:result) {//与运算int number = b & 0xff;//加盐 十六进制String str = Integer.toHexString(number);if(str.length() == 1) {buffer.append("0");}buffer.append(str);}//标准的md5加密后的结果return buffer.toString();} catch (NoSuchAlgorithmException e) {// TODO Auto-generated catch blocke.printStackTrace();return "";}}/*** 第二种* 普通方法* @param key* @return*/public static String MD5(String key) {char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};try {byte[] btInput = key.getBytes();// 获得MD5摘要算法的 MessageDigest 对象MessageDigest mdInst = MessageDigest.getInstance("MD5");// 使用指定的字节更新摘要mdInst.update(btInput);// 获得密文byte[] md = mdInst.digest();// 把密文转换成十六进制的字符串形式int j = md.length;char str[] = new char[j * 2];int k = 0;for (int i = 0; i < j; i++) {byte byte0 = md[i];str[k++] = hexDigits[byte0 >>> 4 & 0xf];str[k++] = hexDigits[byte0 & 0xf];}return new String(str);} catch (Exception e) {return null;}}/*** 加密后解密 运行一次为加密 再运行一次为解密* @param inStr* @return*/public static String JM(String inStr) {byte[] a = inStr.getBytes();for(int i = 0 ; i < a.length ; i++) {a[i] = (byte) (a[i] ^ 't');}return new String(a);}public static void main(String[] args) {System.out.println(MyMD5Util.md5password("123wert"));System.out.println(MyMD5Util.MD5("123"));System.out.println(MyMD5Util.md5password(md5password(md5password("123"))));System.out.println(MyMD5Util.JM(JM("123")));}
}

MD5类加密解密工具类相关推荐

  1. java des加密解密_Java实现的DES加密解密工具类实例

    本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...

  2. java字符串加密解密工具类

    /*** 字符串加密解密工具类** @author guyuqiang* @date 2021-06-07*/ public class StringEncryptUtil {/*** 字符串默认键值 ...

  3. java des 加密工具的使用,Java中DES加密解密工具类的实现实例

    这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...

  4. Java AES 加密解密工具类

    maven 引入一个依赖 <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --> <depen ...

  5. jwt加密解密工具类

    jwt 加密&解密工具类 引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId ...

  6. EncryptUtil加密解密工具类,实测可以,复制粘贴皆可。全套代码加使用案例方法。

    EncryptUtil工具类utils: package deployment.utils;import deployment.constant.CommonConstant; import com. ...

  7. C#常用加密解密工具类(SHA1、MD5、DES、Base64)

    以下代码可直接使用 /// <summary>/// 字符串加密解密类/// </summary>public static class StringSecurity{#reg ...

  8. 手机号 MD5加密解密工具类

    package com.yestar.common.utils;import java.io.UnsupportedEncodingException; import java.security.Me ...

  9. 常用的字符串加密解密工具类

    提前声明一下:此工具类忘记出处了,很抱歉,如果原创遇上了我立马上您的链接: 加密解密的工具类DataEncryptUtil: package org.util;import java.security ...

  10. 基于Java的(SM2_SM3_SM4)国密算法, 加密解密工具类及测试demo

    编写本文的同时借鉴了多位同学写的demo, 最后发现这位同学写的最详细, 放上该作者的链接, 原版链接: https://download.csdn.net/download/ererfei/9474 ...

最新文章

  1. 一文搞懂结构体的定义及实际使用
  2. 通俗易懂讲解JavaScript深拷贝和浅拷贝
  3. github如何make contribute to 其它开源项目
  4. 策略模式和工厂模式的区别_java设计模式之状态模式,策略模式孪生兄弟
  5. iec104点号_QTouch之IEC60870-104通讯
  6. 赶在 2018 年前推荐 30 个最火爆的开源库
  7. 视频AI对话杭州云栖:新一代视频智能生产的探索与实践
  8. cpu利用率低linux,linux计算,cpu 利用率超低,如何处理?
  9. ng-repeat动态生成的DOM如何获取宽度(封装好的方法)
  10. 没有资本怎么创业的思维:不是钱,是实现。
  11. c#中关于结构体和字节数组转化
  12. python提取停用词_python文本处理 数据挖掘 停用词检索
  13. bootbox.js文档中文版
  14. 关于CAB打包的步骤
  15. 数据库实验四--源码
  16. 宏基品牌机 win7 系统激活
  17. vue获取tr内td里面所有内容_点击td获取tr的所有值
  18. 人工智能 2.知识表示
  19. 弱电系统的布线施工应注意什么?
  20. js、jquery操作复选框checkbox总结(单个/多个获取选中值、初始化设置默认选中值、全选反选)

热门文章

  1. 数电(四)—使用译码器74138和门电路实现/写逻辑函数,使用8选1数据选择器74151实现实现L=∑m格式的3/多输入逻辑函数
  2. OMRON_PLC_CP1H_HostLink通讯协议解析
  3. PLC Outstudio 使用教程
  4. 深度学习算法:AlphaGo 算法
  5. Arduino与Proteus仿真实例-74LS138译码器驱动仿真
  6. ISO9001:2015新版质量管理体系标准时间表
  7. 华为面试题(笔试,8分钟写出代码)
  8. ccd后视摄像头_20192020年车载摄像头产业报告
  9. 计算机主板上的BIOS与,刷bios,详细教您电脑主板怎么刷bios
  10. 获取ipa文件下载链接(appstore下载链接)