【问题标题】:can i set MD5 hash key in JAVA or android?我可以在 JAVA 或 android 中设置 MD5 哈希键吗?
【发布时间】:2014-11-09 20:24:58
【问题描述】:

我同时在 android 和 c# 中进行 md-5 散列。

但我找不到如何在 java 中设置 MD5 哈希键值。

这是java代码,除了设置哈希键。

     static public String md5(byte[] key, String s) {
    try {

        // Create MD5 Hash
        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        digest.update(s.getBytes());



        byte messageDigest[] = digest.digest(key);

        // Create Hex String
        StringBuffer hexString = new StringBuffer();
        for (int i=0; i<messageDigest.length; i++)
            hexString.append(Integer.toHexString(0xFF & messageDigest[i]));

        return hexString.toString();

    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}

我想为该代码设置哈希键值。 谁能告诉我该怎么做?

【问题讨论】:

  • 当你说“我想为该代码设置哈希键值”时,我不明白你的意思。据我所知,没有用于计算 MD5 校验和的密钥。
  • @RobbyCornelissen 我的意思是我想设置 MD5 的哈希键
  • 只用谷歌搜索“HMAC MD5 Java”,你就会找到一堆解决方案。例如this one.

标签: java android hash md5


【解决方案1】:

我认为 atm 最简单的方法是使用具有哈希方法的 googles 类哈希。 http://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/hash/Hashing.java.

创建返回字符串并接收字符串的方法的另一种方式

try{ MessageDigest digest = MessageDigest.getInstance("SHA-256"); digest.update(password.getBytes()); String newPass = digest.toString(); System.out.println("**** " + newPass); return newPass; } catch (NoSuchAlgorithmException ex) { Logger.getLogger(Author.class.getName()).log(Level.SEVERE, null, ex); } return "";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 2011-06-18
    • 2014-05-19
    相关资源
    最近更新 更多