【问题标题】:Bouncy Castle crypto library hashing via SHA256Bouncy Castle 加密库通过 SHA256 散列
【发布时间】:2011-02-17 08:06:48
【问题描述】:

我想在 Blackberry 应用程序中执行 SHA256 散列。搜索,我发现 Bouncy Castle 项目有一个加密库,但我找不到任何示例来展示如何使用 SHA256 哈希。

【问题讨论】:

  • 不是重复的,因为它专门要求提供 Bouncycastle 示例。
  • 为什么 SHA256Digest 的 javadocs 不够用?
  • 是的,我得到了在 J2ME 中使用 Bouncy Castle 加密 API 进行 SHA256 编码的方法。如下所示使用它。私有静态字节[] getSHA256(字符串键){ SHA256Digest消化器=新的SHA256Digest();字节[] retValue=新字节[digester.getDigestSize()]; digester.update(key.getBytes(), 0, key.length());消化器.doFinal(retValue, 0);返回 retValue; } ~Ragesh Kumar AK

标签: blackberry java-me bouncycastle sha256


【解决方案1】:

只需将 user598312 的答案重新发布为回复而不是评论,以便人们知道解决方案。

private static byte[] getSHA512(String key) {
    SHA512Digest digester = new SHA512Digest();
    byte[] retValue = new byte[digester.getDigestSize()];
    digester.update(key.getBytes(), 0, key.length());
    digester.doFinal(retValue, 0);
    return retValue;
}

【讨论】:

  • key.length 应该是 key.getBytes().length,因为 java 是 UTF-16,因此字符串长度可能与字节长度不同,具体取决于输入。某些平台是 UTF-8(即 Android),但使用 byte[] 长度将使此代码更加健壮:)
【解决方案2】:

BlackBerry 几乎内置了 BouncyCastle API 中的所有内容。对于 SHA256,有 SHA256Digest

【讨论】:

    猜你喜欢
    • 2021-11-04
    • 2018-10-06
    • 2016-04-29
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2015-06-13
    • 2011-02-11
    相关资源
    最近更新 更多