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

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

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

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...

「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?

1 简介今天我们介绍一个Java库-Jasypt,全称为Java Simplified Encryption,用于加密解密。它能够让开发者用花费最小的工作而把加密集成到项目中,并且不需要对加密/解密有...

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

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

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

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

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

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