我使用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