广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java.security.NoSuchAlgorithmException: Algorithm HmacSHA256 not available
  • 395
分享到

java.security.NoSuchAlgorithmException: Algorithm HmacSHA256 not available

javajvm开发语言 2023-09-08 14:09:38 395人浏览 泡泡鱼
摘要

java.security.NoSuchAlGorithmException: Algorithm HMacSHA256 not available问题解决 公司使用miNIO进行文件上传,但是min

java.security.NoSuchAlGorithmException: Algorithm HMacSHA256 not available问题解决

公司使用miNIO进行文件上传,但是minio底层使用的HmacSHA256 这个算法,我的jar包在本地windows运行是没有任何问题的,放在linux运行就会出现这个错误。

  1. 查看jar包应用是否使用的linux环境的jdk
    添加
System.out.println(System.getProperty("java.version"));

输出查看结果,看看应用程序的版本是否和linux的java -version版本一致,如果不一致就要让环境一致了,可以替换linux的jdk版本和本地一致,这个算法在jdk1.8+是默认支持的。
2. 如果一致的情况下,那就可能是jdk少包了,在linux环境添加
HmacSHA256Test.java文件,里面代码如下

import javax.crypto.Mac;import javax.crypto.spec.SecreTKEySpec;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.Key;import java.security.NoSuchAlgorithmException;import java.security.*;public class HmacSHA256Test {    public static void main(String[] args) {        try {            System.out.println(System.getProperty("java.version"));            Key key = new SecretKeySpec("test".getBytes(), "HmacSHA256");            Mac.getInstance("HmacSHA256").init(key);            System.out.println("Success!");        } catch (Exception e) {            e.printStackTrace();        }    } }

使用 javac HmacSHA256Test.java编译文件,在使用java HmacSHA256Test运行查看是否输出success。如果不能输出success,就需要在jre里面添加security包了,具体可以百度,我这里是能输出的。
3.如果输出success,那就可能是jar包的算法指向有问题了,我们可以添加一个Bouncy Castle扩展包,在pom.xml文件加依赖

     <dependency>            <groupId>org.bouncycastle</groupId>            <artifactId>bcprov-jdk15on</artifactId>            <version>1.68</version>        </dependency>

SpringBoot启动方法中添加代码进行指定
Security.addProvider(new BouncyCastleProvider());

        public static void main(String[] args) {        Security.addProvider(new BouncyCastleProvider());        springApplication.run(abs.class, args);    }

我到这一步基本就解决问题了

来源地址:https://blog.csdn.net/qq_42900469/article/details/130934009

--结束END--

本文标题: java.security.NoSuchAlgorithmException: Algorithm HmacSHA256 not available

本文链接: https://www.lsjlt.com/news/400027.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作