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

createh55个月前 (02-01)技术教程49

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

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库」如何使用优秀的加密库Jasypt来保护你的敏感信息?

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

产品经理需要了解的接口知识(产品经理需要了解的专业术语)

作为后台产品经理,常常需要进行外部系统的对接,在设计开放平台接口过程中,往往会涉及接口传输安全性相关的问题,笔者在详细的查阅大量资料后,结合自身的过往经验,对于接口加密及签名的相关知识做了一个系统性的...

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

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

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

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

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

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

安全架构进阶二之数字摘要(数字内容安全需求主要包括哪几个方面)

什么是数字摘要?数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个个单向Hash函数对消息进行计算而产生,如果消息在传递的途中改变了,接受者通过对收到的消息采用相同的Has...