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

createh54个月前 (02-01)技术教程47

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

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工具类」Apache的DigestUtils加密工具类和Base64加解密类

介绍语本号主要是Java常用关键技术点,通用工具类的分享;以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+do...

关于加解密、加签验签的那些事(加密和加签的区别)

作者:不学无数的程序员面对MD5、SHA、DES、AES、RSA等等这些名词你是否有很多问号?这些名词都是什么?还有什么公钥加密、私钥解密、私钥加签、公钥验签。这些都什么鬼?或许在你日常工作没有听说过...

Hutool-一个小而全的Java工具类库

Hutool简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的...

MD5加密算法(MD5加密算法对于密码的实现代码)

说到加密算法,这个属于安全领域经常涉及到的加密,为了安全嘛,这个还是比较重要的知识。比如在网络协议里https就是一种加密网络传输协议,一般涉及到金融领域,购物,基金,股票等系统都需要使用https进...

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

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