首页 > 编程语言 >MD5加密算法

MD5加密算法

时间:2024-09-14 09:46:10浏览次数:12  
标签:MessageDigest String 算法 sTemp 加密算法 digest MD5

MD5简介

MD5算法是单向散列算法的一种。单向散列算法也称为HASH算法,是一种将任意长度的信息压缩至某一固定长度(称之为消息摘要)的函数(该压缩过程不可逆)。在MD5算法中,这个摘要是指将任意数据映射成一个128位长的摘要信息。并且其是不可逆的,即从摘要信息无法反向推演中原文,在演算过程中,原文的内容也是有丢失的。

工具类

package com.dbl.util;

import java.security.MessageDigest;


/**
 * @Author 高国鹏
 * @Create 2024/7/4 14:02
 * Description:
 */
public class MD5Util {

    /**
     * (支持大小写,默认小写)
     *
     * @param str       要加密的数据
     * @param uppercase 是否转为大写  大写:T  小写:F
     * @return
     */
    public static String getMD5(String str,boolean uppercase){
        // 加密后的16进制字符串
        String hexStr = "";
        try {
            // 此 MessageDigest 类为应用程序提供信息摘要算法的功能
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            // 转换为MD5码
            byte[] digest = md5.digest(str.getBytes("utf-8"));
            // byte[]字节数组转16进制
            StringBuffer sb = new StringBuffer(digest.length);
            String sTemp;
            for (int i = 0; i < digest.length; i++) {
                sTemp = Integer.toHexString(0xFF & digest[i]);
                if (sTemp.length() < 2)
                    sb.append(0);
                sb.append(sTemp.toUpperCase());
            }
            hexStr = sb.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return uppercase ? hexStr : hexStr.toLowerCase();
        //        16位就是截取一下就可以
        //System.out.println(MD5Util.getMD5(str,true).substring(8, 24));
    }
    
}

标签:MessageDigest,String,算法,sTemp,加密算法,digest,MD5
From: https://www.cnblogs.com/Gguopeng/p/18413368

相关文章

  • Python 和 Go 实现 AES 加密算法的技术详解
    AES(AdvancedEncryptionStandard,高级加密标准)是一种对称密钥加密算法,广泛应用于各种安全通信场景中。AES使用128、192或256位的密钥,能够提供不同级别的安全性。本文将详细讲解如何使用Python和Go来实现AES加密算法,提供代码示例并对其进行逐步解析。1.什么是AES加密......
  • Python 加密算法详解与应用
    引言随着互联网的普及,数据传输与存储中的安全性问题变得尤为重要。加密算法是一种有效保护数据的方法,广泛应用于文件加密、网络通信以及身份认证等场景中。Python作为一种易于上手且功能强大的编程语言,提供了多种加密库供开发者使用,如cryptography、pycryptodome等库。本篇文章将详......
  • md5拓展攻击
    md5拓展攻击【工具】hash-ext-attack/img/img_1.pngatmaster·shellfeel/hash-ext-attack·GitHub【攻击方法例题】https://ctf.org.cn/2019/11/19/哈希长度扩展攻击以及HashPump安装使用和两道题目/实际中的利用条件如下:基于哈希的消息认证码(MAC):长度扩展攻击的......
  • Linux:md5sum指令
    学习自:Linuxshell编程学习笔记42:md5sum_PurpleEndurer@5lcto的技术博客_51CTO博客MD5SUM详解_md5sum命令详解-CSDN博客0、常用#校验文件md5sum1.txtf447b20a7fcbf53a5d5be013ea0b15af1.txt#校验标准输入echo"123456"|md5sumf447b20a7fcbf53a5d5be013ea0b15af-......
  • Python使用socket传输对数据AES和MD5加密
    一、使用socket通信defclient_communication(data):#通信host="127.0.0.1"#服务器IP地址port=12345#服务器端口号#处理发送数据data=json.dumps(data)#将字典转换为json字符串data=encryption_AES(data)......
  • python实现椭圆曲线加密算法(ECC)
    目录椭圆曲线加密算法(ECC)简介ECC的数学基础椭圆曲线的定义ECC的基本操作ECC加密和解密流程Python面向对象实现ECC加密和解密代码解释场景应用:安全通信总结椭圆曲线加密算法(ECC)简介椭圆曲线加密算法(EllipticCurveCryptography,ECC)是一种基于椭圆曲线数学结构的......
  • Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点在移动端开发中,数据加密是确保数据传输和存储安全的重要手段。常见的加密算法包括对称加密算法(如AES)、非对称加密算法(如RSA)、散列算法(如SHA-256),以及消息认证码(如......
  • MD5值修改器 无须安装,解压即用,可修改图片/视频/文件/程序MD5值
    分享一个我一直在用的MD5值修改器给大家,此修改器无须下载,解压即用,操作简单,下面我一步步操作给大家看如何通过修改器修改MD5值1、点击BatchMD5Modify.exe,打开修改器主页打开后的界面是这样的2、点击添加要修改MD5值的视频、图片、文件、程序,并选择打开添加3、点击修改,看......
  • 如何使用 SQL Server 内置函数实现MD5加密
    目录前言一、MD5加密1、MD5加密的特点2、MD5加密的应用场景3、为什么MD5有用二、使用MD5三、MD5加密示例 四、SQL截取字符串substring总结最后前言在互联网时代,我们的数据基本都是在暴露在外面,数据安全变得越来越重要。我们经常需要保护一些个人信息,比如密码......
  • 加密算法
    加密算法概述加密算法是保护信息安全的重要工具,广泛应用于数据传输、存储和身份验证等领域。根据不同的目的和特性,加密算法可以分为几类。一、对称加密算法对称加密算法是指加密和解密使用相同的密钥。其优点是速度快,适合大数据量的加密,但密钥管理是一个挑战。1.DES(数据加密......