在 J2ME 中实现 Digest-MD5:如何计算字符串的 16 个八位字节 MD5 散列?
我正在 J2ME 中实现摘要 md5。在计算客户端响应时,给出以下步骤:
- 创建“用户名:领域:密码”形式的字符串。将此字符串称为 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 吗?我有一个返回 32 十六进制数字的 md5 函数,但我不知道如何计算 16 个八位字节的 md5 哈希值?
我只是想重申我正在使用 J2ME。在这种情况下,我不能简单地使用 MessageDigest。
先感谢您。 :)
I am implementing digest-md5 in J2ME.In the computation of the client response, the following steps are given:
- Create a string of the form "username:realm:password". Call this string X.
- Compute the 16 octet MD5 hash of X. Call the result Y.
- Create a string of the form "Y:nonce:cnonce:authzid". Call this string A1.
- Create a string of the form "AUTHENTICATE:digest-uri". Call this string A2.
- Compute the 32 hex digit MD5 hash of A1. Call the result HA1.
- Compute the 32 hex digit MD5 hash of A2. Call the result HA2.
- Create a string of the form "HA1:nonce:nc:cnonce:qop:HA2". Call this string KD.
- Compute the 32 hex digit MD5 hash of KD. Call the result Z.
Does anyone here know how to implement step 2? I have a md5 function that returns a 32 hex digit but i don't know how to compute a 16 octet md5 hash?
I just would like to reiterate that I am using J2ME. In that case I can not simply use MessageDigest.
Thank you in advance. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅此
使用
MD-5
改为 SHA 256see this
use
MD-5
instead SHA 256