Java加密体系(MD5算法)(java加密运算)

createh53个月前 (02-01)技术教程27

这是我多年前的手记,分享到此。

Java加密体系

大家都知道,JAVA是安全的,比如自动内存管理;自动数组溢出检查;字节代码的验证机制;独特的安全类加载。。。。。JAVA都是需要编译成.class格式后再执行,其他人看不到项部的源代码,在代码的安全性就很高。JAVA平台已经实现好了加密算法只要调用类就可以了,在JAVA加密体系中JCA和JCE是JAVA中的两个重要的框架:

JCA——Java Cryptography Architecture

数字签名

信息摘要

JCE——Java Cryptography Extension

MD5(消息摘要算法)

SHA(安全散列算法)

DES(数据加密算法)

理论知识我就再啰嗦了,有兴趣多了解的可以去查询相关方面的知识进行学习;接下来我来执行使用JAVA进行MD5加密,步骤简单

初始化MessageDigest信息摘要对象

传入需要计算的字条串更新摘要对象

计算信息摘要

将byte[]转换为长度为32位的16进制字符串

源代码如下:

package com.qzh.test;
 
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
 
public class MD5Test {
 
	public void TestMD5(String input) throws NoSuchAlgorithmException, UnsupportedEncodingException{
		//1.初始化MessageDigest信息摘要对象
		MessageDigest md = MessageDigest.getInstance("md5");
		//2.传入需要计算的字条串更新摘要对象
		md.update(input.getBytes("UTF-8"));
		//3.计算信息摘要
		byte[] hashCode = md.digest();
		//4.将byte[]转换为长度为32位的16进制字符串
		StringBuffer sb = new StringBuffer();
		for(byte b:hashCode){
			sb.append(Character.forDigit((b>>4) & 0xf, 16));
			sb.append(Character.forDigit(b & 0xf, 16));
		}
		System.out.println("加密后:" + sb.toString());
	}
	public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入你要加密的数据......");
		String input = scanner.nextLine();
		MD5Test md5 = new MD5Test();
		md5.TestMD5(input);
	}
}

执行后如下图:

可以看出,“邱子豪”三个字,经过JAVA中MD5算法加密后是:3670cfbab80f4888d59a04d2a3daf3f9 ;

相关文章

java-常用加解密算法-Md5+salt及具体使用

整理下工作中常用到的加密解密算法 和 使用场景一、Base64和UrlBase64二、Md5 + salt二、对称加密四、非对称加密这节整理 MD5、MD5+salt基本介绍、使用场景及特点,以及ja...

常用的加密算法介绍——MD5(md5常用的数据加密算法)

我不是高手,我只是一个普通的程序员,我特别愿意大家留言讨论,批评指正,您给我指正了,我就去查资料,去做实验,我技术就能得到提高,我认为这是一个程序员的基本素养。序言:程序员在实际的开发中会或多或少地...

鸿蒙系统全面解析,诞生背景、技术细节生态圈一文看懂 | 智东西内参

华为6月2日正式发布的鸿蒙系统无疑占据了最近热点话题的C位,虽然不全是赞美的声音,但这种努力打破美国垄断,挑战谷歌、苹果在移动操作系统上垄断地位的尝试必将成为中国科技史上的里程碑事件。本期的智能内参,...

连微服务Nacos配置中心都不了解,那你可能注定就是个码农

背景在我们最开始做一些简单的学习项目的时候,我们会遇到一些需要配置的东西,比如数据库连接池大小,用户的黑名单等等,我们都把这些东西写死在代码里面,比如if(userId == 123){do some...

什么是md5加密,怎么进行md5加密(md5加密原理和实现)

程序员们在使用存储密码数据的时候,经常会用到加密密码进行存储,今天来聊聊怎么进行md5加密。MD5(Message-Digest Algorithm 5,消息摘要算法第五版)是一种使用的加密哈希函数,...

贼好用的 Java 工具类库(java常用的工具类有哪些)

作者丨Ryan Wang来源丨JAVA葵花宝典简介Hutool是Hu + tool的自造词,前者致敬我的“前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界...