1 year ago

#70758

test-img

C. Nutchanon

How do I decrpyt a message with AES when I have only the encrypted message and a key in flutter?

How do I decrypt a message when I have only the message and the key? I know the key (as a string), and the encrypted message is returned from my friend's API (as a string). My friend uses CryptoJS to encrypt with AES. How do I decrypt that message? I think my friend uses the default settings for everything (in CryptoJS).

I'm trying it with encrypt in flutter. The thing is encrypter.decrypt() accepts the type Encrypted and iv while I have the encrypted message as a String. How do I convert it to Encrypted? Also, how do I obtain the iv?

Here's an example of the known information (both are String)

Encrypted message: U2FsdGVkX1851cYw0S6LX/xhUwdy0R/1AlNun5L9Ykc=

Key Example: myKey111

I'm currently out of ideas.

Here's what I have currently

String key = 'myKey111';
    String keyB64 = base64.encode(utf8.encode(key));
    final keyKey = encrypt.Key.fromBase64(keyB64);
    String code = "U2FsdGVkX1851cYw0S6LX/xhUwdy0R/1AlNun5L9Ykc=";
    List<int> list = code.codeUnits;
    Uint8List bytes = Uint8List.fromList(list);
    final _encrypted = encrypt.Encrypted(bytes);
    print('KEY TEST: ${keyKey.base64}');
    final _encrypter = encrypt.Encrypter(encrypt.AES(
      keyKey,
      mode: encrypt.AESMode.cbc,
      padding: 'PKCS7',
    ));
    final iv = encrypt.IV.fromUtf8('myKey111');
    final _decrypted = _encrypter.decrypt(_encrypted, iv: iv);

flutter

dart

encryption

aes

cryptojs

0 Answers

Your Answer

Accepted video resources