gpt4 book ai didi

java - RSA/ECB/OAEPWithSHA-256AndMGF1Padding 但 MGF1 使用 SHA-256?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:12:49 24 4
gpt4 key购买 nike

我在 Oracle 的 Java 标准加密提供程序中找到了困难的方法

Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");

使用通过 SHA-1 实例化的 MFG1; SHA-256 仅用于散列标签(实际上是空的)。我发现在 MFG1 中实际使用 SHA-256 的唯一解决方案(在 answercomment 的帮助下)是使用 Cipher.init 的替代形式:

cipher.init(Cipher.DECRYPT_MODE, privKey, new OAEPParameterSpec(
"SHA-256", "MGF1", MGF1ParameterSpec.SHA256, PSource.PSpecified.DEFAULT
));

问题:是否存在 Cipher.getInstance 将识别的转换,其效果类似于 "RSA/ECB/OAEPWithSHA-256AndMGF1Padding" ,除了使用 SHA-256 的 MGF1?

最佳答案

不,没有。

Java 是开源的。如果不确定,您可以查看 OpenJDK 的源代码。

com.sun.crypto.provider.RSACipherinit方法中上面写着:

            spec = new OAEPParameterSpec(oaepHashAlgorithm, "MGF1",
MGF1ParameterSpec.SHA1, PSource.PSpecified.DEFAULT);

我已经检查了 OpenJDK 的 Java 8 update 60。如您所见,您需要使用算法参数。

关于java - RSA/ECB/OAEPWithSHA-256AndMGF1Padding 但 MGF1 使用 SHA-256?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33572909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com