用java实现比特币区块链的SHA256散列算法

it2025-01-19  13

文章目录

前言一、使用步骤1.引入库2.创建maven测试工程2.开始编写对称加密SHA256测试方法3.测试结果看看第三方平台生成的: 总结


前言

上次总结了一下加密算法的分类(加密算法有几种形式,各有什么不同?),也用java语言实现一下SM4:无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。现在来实现一下比特币区块链的SHA256散列算法


ps:我们既可以基于Java 原生实现加密和解密,又可以基于第三方的工具包实现。下面我们首先介绍基于第三方工具包 hutool,如果是项目的话建议直接使用第三方的工具。

一、使用步骤

1.引入库

在项目的pom.xml的dependencies中加入以下内容: <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.4.5</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15to18</artifactId> <version>1.66</version> </dependency>

说明: bcprov-jdk15to18的版本请前往Maven中央库搜索,查找对应JDK的最新版本。

2.创建maven测试工程

2.开始编写对称加密SHA256测试方法

package org.xiangbiao; import cn.hutool.crypto.SecureUtil; /** *SM4Test * @author larry.xiang * */ public class SHA256Test { public static void main( String[] args ) { String key = "我是一段测试字符串"; String str= SecureUtil.sha256(key); System.out.println(str); } }

3.测试结果

看看第三方平台生成的:

还是能对的上,表示正常!


总结

比较简单不做过多的介绍,简单列举一下hutool中函数的定义:

public static String sha256(String data) SHA256加密,生成16进制SHA256字符串 Parameters: data - 数据 Returns: SHA256字符串 Since: 4.3.2
最新回复(0)