實際上找到了我的問題的答案,更多的搜索和更多的調試我的Clojure。我想在這裏發佈它,以防萬一它對別人有用。
最後部分首先 - 找到一個基於Web的NTLMv2哈希生成器,所以能夠使用它來驗證我的輸出。見Browserling NTLM Hash Generator。
現在,我的解決方案。我結束了讓jcifs工作正常。將jcifs.jar安裝到我的本地maven倉庫中(使用lein-localrepo)之後,它非常容易 - 真的認爲我更喜歡使用Clojure,即使大部分代碼已經在Java中。我不是clojure專家,但這應該是合理清晰的(我希望)
(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)))))