Decriptando senha

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);
}