SHA/MD5

本文介绍了Hash函数的概念及其在摘要算法中的应用。Hash函数能够将任意长度的输入转化为固定长度的输出,常用于验证数据的完整性和一致性。通过实例演示了如何使用Java中的Base64进行编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Hash函数又称杂凑函数,用于摘要算法,它是将不定长的明文信息经过复杂的运算得到一个定长的数值,这就是签名。摘要算法与一般的对称或非对称加密算法不同,它并不用于防止信息被窃取,而是用于证明原文的完整性和准确性,也就是说,数字签名主要是用于防止信息被篡改

消息摘要工具demo:

import java.io.UnsupportedEncodingException;
import java.util.Base64;

import javax.xml.bind.DatatypeConverter;

public class Base64Util {

	public static void main(String[] args) throws UnsupportedEncodingException {
		String s = "abcd一二三四";
		/*
		 * java8实现 **********************
		 */
		//基础版
		System.out.println(Base64.getEncoder().encodeToString(s.getBytes("UTF-8")));
		//URL编码:使用'-', '_'代替基础的'+', '/'
		System.out.println(Base64.getUrlEncoder().encodeToString(s.getBytes("UTF-8")));
		//MIME编码:每一行输出不超过76个字符,而且每行以"\r\n"符结束。
		System.out.println(Base64.getMimeEncoder().encodeToString(s.getBytes("UTF-8")));

		/*
		 * DatatypeConverter实现 **********************
		 */
		System.out.println(DatatypeConverter.printBase64Binary(s.getBytes("UTF-8")));
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值