我使用Apache DS與Spring LDAP進行身份驗證和用戶管理。 Apache DS將密碼字段作爲散列字節數組發送,所以我需要將其解密爲字符串。我正在使用MD5哈希。無法解密MD5哈希字節數組
例如,下面是用於使用Apache DS工作室輸入密碼的窗口:
(出於演示的目的,我想告訴輸入的密碼是)
Apache DS將密碼字段作爲散列字節數組發送。當我嘗試使用如下的Spring LDAP時,我得到了[B @ 66ca6254。我需要解密它,並得到它的十六進制值,它是c4ca4238a0b923820dcc509a6f75849b,如上所示。
'字符串十六進制串=新的String(Hex.encodeHex(byteArrayPassword));'這給了我** ** 7b4d44357d784d70434f4b43354934494e7a464361623357456d773d3d而不是** ** c4ca4238a0b923820dcc509a6f75849b。 – talha06
@ talha06:啊,對。現在我明白了。將編輯。 –
現在它提供了這些輸出,我仍然無法將原始密碼的十六進制值轉換回來'hexString = hexString.substring(5); // xMpCOKC5I4INzFCab3WEmw == byte [] bytes = Base64.decodeBase64(hexString.getBytes()); hexString = Hex.encodeHex(bytes).toString(); // [C @ 4c065f0a' – talha06