2011-06-27 51 views
1

我在执行DIGEST-MD5在J2ME.In客户端的响应的计算,给出以下步骤:在J2ME中实现Digest-MD5:如何计算字符串的16字节MD5散列?

  1. 创建形式为“用户名:境界:密码”的字符串。调用该字符串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.

有没有人知道如何实施步骤2?我有一个md5函数返回一个32位十六进制数字,但我不知道如何计算一个16字节md5散列?

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

预先感谢您。 :)

+0

嗨肯尼斯,在服务器端使用摘要身份验证和IM尝试连接的网址,但我不能,因为身份验证是有那么你可以请告诉我如何使用httpconection在j2me中消化身份验证。 –

回答

0

看到this

使用MD-5代替SHA 256

+0

感谢您的回答!但是,MessageDigest不适用于Java J2ME。 – Kenneth

+0

此外,我已经解决了我的问题!感谢这个博客: http://deusty.blogspot.com/2007/09/example-please.html – Kenneth

+0

@Kenneth我知道这是一个非常古老的问题,但我面临类似的问题。我正在使用编写帖子的人编写的XMPP库来解决您的问题。但是,这个库不是按照XMPP定义的方式创建响应(在问题中发布的步骤)。我的问题是:在像该blogspot文章那样执行之后,您是否能够登录到XMPP服务器?我无法与那家伙图书馆做... – momo

相关问题