首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成NTLMv2哈希和验证

生成NTLMv2哈希和验证
EN

Stack Overflow用户
提问于 2017-02-18 05:40:40
回答 1查看 2.6K关注 0票数 1

我正在处理一个小型Clojure项目,在这个项目中,我需要能够从一个简单的字符串生成一个NTLMv2哈希。该值将用于填充sambaNTPassword实例中的openLDAP字段。我预计这将涉及到调用一些Java来完成繁重的工作,并从这个java示例开始。但是,结果看起来不太正确,我看到了一些帖子,表明jcifs可能不是NTLMv2的好解决方案。

所以我有两个问题

  1. 有人知道我可以使用一个简单的脚本来生成NTLMv2哈希,我可以使用它作为检查脚本,即与我从我的解决方案中获得的输出进行比较。
  2. 对于其他Java库是否有更好的建议来完成这项任务?
EN

回答 1

Stack Overflow用户

发布于 2017-02-18 06:46:01

实际上,我的两个问题的答案都是通过更多的搜索和对Clojure的调试找到的。我想我会把它贴在这里以防它对别人有用。

最后一部分首先-找到了一个基于web的NTLMv2哈希生成器,因此能够使用它来验证我的输出。见Browserling NTLM Hash生成器

现在我的解决方案。最后我让jcifs工作得很好。在将jcifs.jar安装到本地maven repo (使用lein-localrepo)之后,它非常容易--确实认为我更喜欢使用Clojure,即使大多数代码都已经使用了Java。我不是clojure专家,但这应该是相当清楚的(我希望)

代码语言:javascript
复制
(ns cifs-clj.core
  (:import [jcifs.util Hexdump MD4])
  (:gen-class))

(defn hash-nt-password [pwd]
  (let [pwd-bytes (.getBytes pwd "UnicodeLittleUnmarked")
        md4 (doto (MD4.)
              (.engineUpdate pwd-bytes 0 (alength pwd-bytes)))
        hash-bytes (.engineDigest md4)]
    (Hexdump/toHexString hash-bytes 0 (* 2 (alength hash-bytes)))))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42311512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档