文字列をNTLMハッシュに変換できますか? Javaにインポートできるライブラリがありますか、それを取得するためのメソッドがありますか?文字列をJavaでNTLMハッシュに変換できますか?
0
A
答えて
0
私は、このユーティリティクラスを書いた:
import jcifs.smb.NtlmPasswordAuthentication;
/**
* NTLM passwords encoding.
*
* This implementation depends on the JCIFS library.
*/
public class NTLMPassword {
private final static char[] HEX_ARRAY = "ABCDEF".toCharArray();
private NTLMPassword() {
throw new UnsupportedOperationException("Can not instantiate this class.");
}
/**
* Return NTLM hash for a given string.
*
* See https://lists.samba.org/archive/jcifs/2015-February/010258.html
*
* @param value
* the string to hash.
* @return the NTLM hash for the given string.
*/
public static String encode(String value) {
String s = (value != null) ? value : "";
byte[] hash = NtlmPasswordAuthentication.nTOWFv1(s);
return bytesToHex(hash).toUpperCase();
}
/**
* See https://stackoverflow.com/a/9855338/1314986
*/
private static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for (int j = 0; j < bytes.length; j++) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = HEX_ARRAY[v >>> 4];
hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F];
}
return new String(hexChars);
}
}
このコードは、JCIFSライブラリを使用しています。あなたは、Mavenを使用する場合は、次の依存関係を含める:あなたは、次のテストでこのコードを検証することができ
<dependency>
<groupId>org.codelibs</groupId>
<artifactId>jcifs</artifactId>
<version>1.3.18.2</version>
</dependency>
:NTMLハッシュを表す何クラス:
@Test
public void testEncode() throws Exception {
assertEquals("D36D0FC68CEDDAF7E180A6AE71096B35", NTLMPassword.encode("DummyPassword"));
}
+0
これははるかに簡単です – RACING121
3
Javaで実装されたタイプ3 NTLM応答の計算は、appendix DのThe NTLM Authentication Protocol and Security Support Providerです。
+0
URLへのアクセスに問題がある方:30分前に問題ありませんでした。私は、スタックオーバーフローが、処理するよりも多くのトラフィックを与えていると思われます。 – VGR
関連する問題
- 1. ハッシュを文字列に変換できませんか?
- 2. ハッシュ変換の文字列
- 3. JavaScript文字列をハッシュ文字列に変換する
- 4. ハッシュ文字列をRGBカラーに変換
- 5. ハッシュ文字列をフォーマット番号に変換しますか?
- 6. ハッシュ関数をC++で文字列をintに変換する
- 7. RSpecコントローラのテストでハッシュを文字列に変換する
- 8. は文字列を配列に変換できますか?
- 9. 文字列をリテラルオブジェクト配列に変換できますか?
- 10. 文字列をJavaでdoubleに変換するときのNullpointerException
- 11. 文字列をJavaの文字列配列に変換する
- 12. 文字列を迅速にUnicodeに変換できますか?
- 13. DevExpress TcxFilterOperatorKindを文字列に変換したり、文字列から変換したりできますか?
- 14. 文字列をJson文字列に変換できませんか?
- 15. エラーメッセージ:「型 '文字列を変換できませんか?' 「文字列」に「
- 16. 文字列をバックスラッシュで文字列に変換します
- 17. gulpストリームを文字列に変換できますか?
- 18. MySQLはリテラル文字列を式に変換できますか?
- 19. 文字列からバイト配列に変換できません
- 20. Java:タイムゾーン変数で日付を文字列に変換する
- 21. Java文字列をWindows-1258に変換
- 22. Java:文字列を日付に変換
- 23. HTTP文字列のJSONオブジェクトに変換するJava文字列
- 24. ハッシュを文字列に変換するFreemarker
- 25. Rubyハッシュ文字列をPython辞書に変換する
- 26. Swift 3:SHA256ハッシュ文字列をSecCertificateに変換する
- 27. ハッシュされたパスワードを文字列に変換するwerkuzeug python
- 28. ハッシュを文字列に暗黙的に変換しない(TypeError)
- 29. 文字列を文字列に変換しますか?
- 30. 文字列を配列に変換できません
私は、全体の事はあると思います。私が言っていることは、あなたはたぶんそのことの具体的な実装について話しています。いくつかの特定のライブラリから来ています。そのライブラリに "NTMLハッシュ"オブジェクトを作成する方法を理解するために、その非常にライブラリを調べるべきではありませんか? – GhostCat
私はウェブを高値と低値で検索しましたが、NTMLが何であるかはまだ分かりません。私が見つけたすべての検索結果は、NTLMのスペルミスです。 NTLMを意味しましたか? – VGR
@VGRはいNTLM申し訳ありません – RACING121