当前位置: 首页 > 知识库问答 >
问题:

如何在Java中获取哈希算法名称的对象标识符

钦景胜
2023-03-14

我必须执行密码算法名称和它们的对象标识符之间的转换。我使用Java加密体系结构(JCA)和Bouncy Castle作为安全提供程序。用JCA本身将OID转换为文本名称是相当容易的。

String oid = "2.16.840.1.101.3.4.2.4";
MessageDigest md = MessageDigest.getInstance(oid);
String digestAlgorithmName = md.getAlgorithm();

但是我如何执行从文本名称到OID的反向转换呢?在JCA中似乎没有办法获得算法名称的别名。Bouncy Castle 1.50具有映射,它将算法名称连接到OID,但所有这些映射都有限制访问。

共有1个答案

叶茂才
2023-03-14

PKIX发行版中有几个helper类专门用于处理这个问题。

在org.bouncycastle.operator-DefaultDigestAlgorithmIdentifierFinder和DefaultSignatureAlgorithmIdentifierFinder中查看一下。还有一些其他的分布在不同的地方。

 类似资料:
  • 问题内容: 像这样,A a = new A(),如何获得a的名称?(从a中获得字符串“ a”)? 有一个JPanel包含一些JTextField,一个映射包含所有JTextField的名称(变量的名称)。我想将地图的值设置为JTextFields的文本。 跨过getName()方法,我得到了null -_-我知道getName()方法不用于获取变量名。我正在使用netbeans进行Java swi

  • 问题内容: 我知道该类的名称,说 “ MyClass”, 并且想检索该对象。 MyClass.class 供将来参考。有没有办法做到这一点? 我已经浏览了整个网络,但发现与之相关的大多数内容都与有关,我认为这不适合我的情况。我不想初始化一个类,而只是获取一个类对象以备将来使用。 编辑:关于此的第一个答案: 我已经检查了该方法,但我认为这也应该初始化该类。现在,我可以使用完整参数来调用它,并传递给第

  • 问题内容: 如何通过反射找出方法的字符串名称是什么? 例如给出: 我想获取字符串“ getFoo”,如下所示: 问题答案: 由于方法本身不是对象,因此它们没有直接的属性(就像您希望使用JavaScript之类的一流函数那样)。 您能做的最接近的是致电 是一个对象,您可以使用它调用任何反射方法。 但是,据我所知,一种方法无法识别自己。

  • 问题内容: 我编写了以下程序来计算Java中字符串的SHA-256哈希值: 好吧,那很好。在下一步中,我想以一种接受文件并计算其哈希值的方式来开发它。我的解决方案是在字符串数组中读取整个文件,然后在该字符串数组上调用方法。但是有两个问题: 我不知道如何将整个文件读入数组?目前,我认为我必须逐行阅读并在数组中添加新行! 上面的方法需要大文件存储空间! 这是我当前的程序来读取文件: 似乎没有一种方法可

  • 问题内容: 我在解析json响应时遇到一个小问题,因为每当我发送请求时,它都会不断更新,我看到的所有示例都使我们提供了标签名。我的问题是我试图解析通过API发送的请求中的数据,并且我想在开始解析之前列出JSON对象内存在的所有JSON数组的所有标签。是否有可能在Android中。http://api.yamgo.tv/channel?apiKey=187abeefc53f900600dc0fc5b

  • 问题内容: 有什么解决方案来获取对象的函数名称? -没有有关或的信息。有可能得到其中之一吗? 问题答案: 获取对象的构造函数,然后检查其name属性。 返回“ myClass”。