我在J2ME中实现digest-md5。在计算客户端响应时,给出了以下步骤:
- 创建“username:realm:password”形式的字符串。将此字符串称为X。
- 计算X的16个八位位组MD5哈希值。调用结果Y。
- 创建一个“Y:nonce:cnonce:authzid”形式的字符串。将此字符串称为A1。
- 创建一个“AUTHENTICATE:digest-uri”形式的字符串。将此字符串称为A2。
- 计算A1的32位十六进制数字MD5哈希值。调用结果HA1。
- 计算A2的32位十六进制数字MD5哈希值。调用结果HA2。
- 创建“HA1:nonce:nc:cnonce:qop:HA2”形式的字符串。将此字符串称为KD。
- 计算KD的32位十六进制数字MD5哈希值。调用结果Z。
醇>
有谁知道如何实施第2步?我有一个md5函数返回32位十六进制数字,但我不知道如何计算16个八位位组md5哈希?
我只想重申我正在使用J2ME。在这种情况下,我不能简单地使用MessageDigest。
提前谢谢你。 :)