java me-在J2ME中实现Digest-MD5:如何计算字符串的16位MD5散列



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

  1. 创建一个形式为"username:realm:password"的字符串。调用这个字符串X
  2. 计算X的16位MD5散列。调用结果Y
  3. 创建一个形式为"Y:nonce:cnonce:authzid"的字符串。将此字符串称为A1
  4. 创建一个格式为"AUTHENTICATE:摘要uri"的字符串。将这个字符串称为A2
  5. 计算A1的32位十六进制MD5散列。调用结果HA1
  6. 计算A2的32位十六进制MD5散列。将结果称为HA2
  7. 创建一个形式为"HA1:nonce:nc:conce:qop:HA2"的字符串。将此字符串称为KD
  8. 计算KD的32位十六进制MD5散列。将结果称为Z

这里有人知道如何执行步骤2吗?我有一个md5函数,它返回32个十六进制数字,但我不知道如何计算16个八位字节的md5哈希?

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

提前谢谢。:)

请参阅此

使用MD-5而不是SHA 256

最新更新