Para recuperar a senha original a partir do campo password
criptografado, você deve seguir estes passos:
Tenha à mão três informações:
- O valor da senha criptografada (string Base64).
- O clientId fornecido para sua aplicação.
- O username do usuário.
Segue exemplo em C# (adaptável para sua linguagem preferida):
public static string DecryptPassword(string encryptedPassword, string clientId, string username)
{
byte[] key = MD5.HashData(Encoding.UTF8.GetBytes(clientId));
byte[] iv = MD5.HashData(Encoding.UTF8.GetBytes(username));
byte[] cipherText = Convert.FromBase64String(encryptedPassword);
using var aes = Aes.Create();
aes.Key = key;
aes.IV = iv;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
using var decryptor = aes.CreateDecryptor();
byte[] decryptedBytes = decryptor.TransformFinalBlock(cipherText, 0, cipherText.Length);
return Encoding.UTF8.GetString(decryptedBytes);
}