我想使用flexiprovider library,我试图实例化一个简单的de.flexiprovider.api.MessageDigest;使用下一个代码
MessageDigest digest = Registry.getMessageDigest("SHA-1");
但我在线程“main”de.flexiprovider.api.exceptions.NoSuchAlgorithmException:SHA-1中得到了Exception。请问你能帮帮我吗?我需要实例化SHA-1算法。
答案 0 :(得分:1)
考虑Registry.getAlgorithms(Registry.MESSAGE_DIGEST)
的输出结果,我认为上面的代码应该是
MessageDigest digest = Registry.getMessageDigest("SHA1");
编辑:
与大多数JCE库一样,flexiprovider需要在程序中注册一次安全提供程序,因此您还需要一次调用
Security.addProvider(new FlexiCoreProvider());
在您的应用程序初始化中。
答案 1 :(得分:0)
首先需要按以下方式注册算法:
Registry.add(Registry.MESSAGE_DIGEST, de.flexiprovider.core.md.SHA1.class, "SHA-1");