首页 > 其他分享 >Base64|MD5加密工具类

Base64|MD5加密工具类

时间:2023-08-25 13:04:45浏览次数:52  
标签:return String Base64 new input 加密 null public MD5


骑士李四记录
Base64Util

import org.apache.commons.codec.binary.Base64;

public class Base64Util {

	public static String encode(String input) {
		if (null == input) {
			input = "";
		}
		byte[] base64 = Base64.encodeBase64(input.getBytes());
		try{
			return new String(base64,"UTF-8");
		}
		catch(Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public static String decode(String input) {
		if (null == input) {
			input = "";
		}
		byte[] base64 = Base64.decodeBase64(input.getBytes());
		try{
			return new String(base64,"UTF-8");
		}
		catch(Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
}

MD5Util

import org.apache.commons.lang3.StringUtils;

import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.security.MessageDigest;

public class MD5Util {

	public  static String MD5(String s) {
		if (StringUtils.isEmpty(s) || StringUtils.isBlank(s))
		{
			return "";
		}

		char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
				'9', 'a', 'b', 'c', 'd', 'e', 'f' };
		try {
			byte[] btInput = s.getBytes("utf-8");
			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;
		}
	}

	public static String getHashCode(Object object) throws IOException {
		if(object == null) return "";

		String ss = null;
		ObjectOutputStream s = null;
		ByteArrayOutputStream bo = new ByteArrayOutputStream();
		try {
			s = new ObjectOutputStream(bo);
			s.writeObject(object);
			s.flush();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(s != null) {
				s.close();
				s = null;
			}
		}
		ss = MD5(bo.toString());
		return ss;
	}
}


标签:return,String,Base64,new,input,加密,null,public,MD5
From: https://blog.51cto.com/u_9406185/7229160

相关文章

  • 对称加密与非对称加密及常用算法
    对称加密加密和解密使用相同的密钥,常用的算法有des、aes、idea非对称加密使用一对密钥,公钥和私钥,常用的算法有rsa,dsa(非对称加密原理:私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你......
  • C# 实现 国密SM4/ECB/PKCS7Padding对称加密解密
    C# 实现国密SM4/ECB/PKCS7Padding对称加密解密,为了演示方便本问使用的是VisualStudio2022来构建代码的1、新建项目,之后选择项目鼠标右键选择 管理NuGet程序包管理,输入 BouncyCastle回车添加BouncyCastle程序包 2、代码如下:CBC模式byt......
  • js_使用axios请求图片资源, 并读取图片资源为base64格式
    情景再现:今天在写页面时遇到这么一个请求:有一张图片,默认隐藏,要求在该图片加载完毕后,执行取消隐藏的动画.目的是不要在执行动画期间图片有空白的样子.第一个想到的当然是img的onload回调函数.但是天生反骨不爱用行内元素.于是想到使用ajax请求图片资源,再使用FileR......
  • 手算base64
    CSP2021考了……什么鬼……base64是什么Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信......
  • 对于用户名密码前端加密的爆破
    前言目前越来越多的网站系统在登录接口、数据请求接口中加入各式各样的加密算法,甚至有些网站在每次请求前都动态请求加密密钥等措施,对接口渗透工作造成较大障碍,简单对登录接口暴力破解时字段被加密,如何处理加密内容进行暴破来进行一个简单思路的分享。常规思路前端js逆向,通过对......
  • K8S集群中使用JD KMS服务对敏感数据安全加密
    基本概念KMS,KeyManagementService,即密钥管理服务,在K8S集群中,以驱动和插件的形式启用对Secret,Configmap进行加密。以保护敏感数据,驱动和插件需要使用者按照需求进行定制和实现自己的KMS插件,插件可以是gRPC服务器或者启用一个云服务商提供的KMS插件。本文中演示使用的KMS服务......
  • Java 实现 国密SM4/ECB/PKCS7Padding对称加密解密
    Java实现国密SM4/ECB/PKCS7Padding对称加密解密,为了演示方便本问使用的是IntelliJIDEA2022.1(CommunityEdition)来构建代码的1、pom.xml文件添加需要的jar<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"......
  • Base64编码和解码
    1、依赖sun.misc.BASE64Decoder.jar/***Base64编码*@paramdata要加密的字符数组*@returnString加密后的16进制字符串*/publicstaticStringencode(byte[]data){returnnewBASE64Encoder().encode(data);}/***Base64解码*@paramdata要解密......
  • 加密编译完的html代码
    将HTML代码加密可以增加代码的安全性,但请注意,加密后的代码可能会增加加载和解析的复杂性,并且无法直接编辑和调试。以下是一些常见的方法来加密HTML代码:使用在线工具:有一些在线工具可以帮助您加密HTML代码,例如HTML加密器。这些工具通常使用特定的算法和技术来对代码进行加密和......
  • python - 文件md5校验
    通过md5校验文件,我们可以判断文件内容是否改变,用python实现代码如下importhashlib#1.txt为空文本withopen('1.txt','rb')asf:data=f.read()md5Old=hashlib.md5(data).hexdigest()print(md5Old)#d41d8cd98f00b204e9800998ecf8427e#1.txt内容为12......