在J2ME中实现Digest-MD5:如何计算String的16个八位位组MD5哈希值?

时间:2011-06-27 08:47:59

标签: java-me md5 digest-authentication

我在J2ME中实现digest-md5。在计算客户端响应时,给出了以下步骤:

  1. 创建“username:realm:password”形式的字符串。将此字符串称为X。
  2. 计算X的16个八位位组MD5哈希值。调用结果Y。
  3. 创建一个“Y:nonce:cnonce:authzid”形式的字符串。将此字符串称为A1。
  4. 创建一个“AUTHENTICATE:digest-uri”形式的字符串。将此字符串称为A2。
  5. 计算A1的32位十六进制数字MD5哈希值。调用结果HA1。
  6. 计算A2的32位十六进制数字MD5哈希值。调用结果HA2。
  7. 创建“HA1:nonce:nc:cnonce:qop:HA2”形式的字符串。将此字符串称为KD。
  8. 计算KD的32位十六进制数字MD5哈希值。调用结果Z。
  9. 有谁知道如何实施第2步?我有一个md5函数返回32位十六进制数字,但我不知道如何计算16个八位位组md5哈希?

    我只想重申我正在使用J2ME。在这种情况下,我不能简单地使用MessageDigest。

    提前谢谢你。 :)

1 个答案:

答案 0 :(得分:0)

请参阅this

使用MD-5代替SHA 256