是否可以將字符串轉換爲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>
您可以驗證此代碼與下面的測試:
@Test
public void testEncode() throws Exception {
assertEquals("D36D0FC68CEDDAF7E180A6AE71096B35", NTLMPassword.encode("DummyPassword"));
}
+0
欣賞這更容易 – RACING121
3
在Java中實現的類型3 NTLM響應計算在The NTLM Authentication Protocol and Security Support Provider的appendix D中。
+0
對於無法訪問網址的人:半小時前還好。我懷疑Stack Overflow給它的流量比它準備處理的流量多。 – VGR
相關問題
- 1. 是否可以將NetMTLMv2哈希轉換爲NTLM哈希?
- 2. 是否有可能與哈希/符號替換字符串(:created_at)
- 3. 將字符串轉換爲哈希字符串:值格式
- 4. 字符串哈希轉換
- 5. Rails rake中止!不能將哈希轉換爲字符串
- 6. Java哈希表密鑰。將字符串鍵轉換爲int鍵
- 7. 如何哈希轉換爲字符串
- 8. 是否可以將40個字符的SHA1哈希轉換爲20個字符的SHA1哈希?
- 9. 紅寶石哈希:不能將字符串轉換爲整數
- 10. 將密鑰和哈希值轉換爲字符串
- 11. 使用FILTER_SANITIZE_STRING將字符串轉換爲md5哈希值
- 12. 如何將字符串轉換爲哈希值浮點數
- 13. 將SHA256哈希字符串轉換爲Python中的SHA256哈希對象
- 14. 轉換哈希字符串在Ruby中
- 15. 將哈希表中的鍵轉換爲字符串列表
- 16. 將所有C#哈希表值和ArrayList值轉換爲字符串
- 17. 將整數轉換爲字符串中的字符串,對象哈希映射
- 18. 的Perl $字符串哈希錶轉換
- 19. 如何轉換java中的字符串中的哈希表
- 20. 如何在Ruby 1.9中將哈希轉換爲JSON字符串?
- 21. 耙子中止!無法將哈希轉換爲字符串?
- 22. 在Perl中使用libXML將字符串轉換爲哈希
- 23. 將md5哈希字節數組轉換爲字符串
- 24. 將Ruby哈希字符串轉換爲Python字典
- 25. 如何將字符串等哈希轉換爲紅寶石哈希?
- 26. 將字符串轉換爲可逆的字符串,在Java中
- 27. 無法將字符串轉換爲整數 - 從哈希中的哈希中提取值
- 28. 如何將字符串轉換爲哈希
- 29. 如何將字符串轉換爲哈希WITHOUT EVAL
- 30. Carrierwave + Fog(S3)+ Heroku:TypeError(無法將哈希轉換爲字符串)
我想整個事情是:什麼類並表示NTML哈希值。我的意思是說:你可能正在談論這件事的一些具體實現;來自某個特定的圖書館。你不應該看看那個圖書館來確定如何在該圖書館中創建「NTML哈希」對象嗎?! – GhostCat
我已經搜索了網頁的高低,我仍然不知道NTML是什麼。我發現每個搜索結果都是NTLM的拼寫錯誤。你的意思是NTLM嗎? – VGR
@VGR yes i ment NTLM sorry – RACING121