SecretKeyFactory.getInstance()在单元测试中抛出所有算法的异常

 手机用户2602896383 发布于 2023-02-07 19:30

由于某种原因,无论指定什么算法,我总是在调用SecretKeyFactory.getInstance()时在单元测试中获得异常.例如:

SecretKeyFactory.getInstance("PBEWITHMD5ANDDES")

com.mhe.connect.util.EncryptionException: java.security.NoSuchAlgorithmException: PBEWITHMD5ANDDES SecretKeyFactory not available

同时,我看到Security.getProviders()返回我需要的算法:

SECRETKEYFACTORY.DESEDE SunJCE
SECRETKEYFACTORY.PBEWITHMD5ANDDES SunJCE
SECRETKEYFACTORY.DES SunJCE
SECRETKEYFACTORY.PBEWITHMD5ANDTRIPLEDES SunJCE
SECRETKEYFACTORY.PBKDF2WITHHMACSHA1 SunJCE
SECRETKEYFACTORY.PBEWITHSHA1ANDDESEDE SunJCE
SECRETKEYFACTORY.PBEWITHSHA1ANDRC2_40 SunJCE

这仅在单元测试(来自Maven或IDE)中发生,并且如果代码在Jetty下运行(从相同的Maven/JDK运行),则可以正常工作.

这种行为可能是什么原因?

1 个回答
  • 今天遇到同样的问题.通过添加@PowerMockIgnore ("javax.crypto.*")到课程解决它.

    有谁知道我是否可以全局忽略这个包?我不想将它添加到从该包执行代码的每个类.

    2023-02-07 19:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有