cryptography icon indicating copy to clipboard operation
cryptography copied to clipboard

UNSUPPORTED_ALGORITHM Error

Open haizadvnet opened this issue 2 years ago • 2 comments

I got PlatformException (PlatformException(UNSUPPORTED_ALGORITHM, cryptography_flutter does not support algorithm null in Android., null, null))

Source code

final pbkdf2 = FlutterPbkdf2(
        macAlgorithm: Hmac.sha1(),
        iterations: 1001,
        bits: 256,
      );

final newSecretKey = await pbkdf2.deriveKeyFromPassword(password: pass, nonce: salt.codeUnits); // <-- throws error when running the deriveKeyFromPassword function.
_internal.dart

await _methodChannel.invokeMethod('encrypt', {}); <-- the error comes from this invokeMethod

It throws error only if I checked All Exception on vsCode breakpoints.

image

haizadvnet avatar Apr 02 '23 14:04 haizadvnet

I am using AES CBC.

I already edited the CryptographyFlutterPlugin.kt file

private fun androidCipherAlgo(dartAlgo: String?): String? {
        return when (dartAlgo) {
            "AES_GCM" -> "AES/GCM/NoPadding"
            "AES_CBC" -> "AES/CBC/NoPadding"
            "CHACHA20_POLY1305_AEAD" -> "ChaCha20/Poly1305/NoPadding"
            else -> null
        }
    }

    private fun cipherMacLength(dartMacAlgo: String?): Int? {
        return when (dartMacAlgo) {
            "AES_GCM" -> 16
            "AES_CBC" -> 32
            "CHACHA20_POLY1305_AEAD" -> 16
            else -> null
        }
    }

and still got the same error :/

haizadvnet avatar Apr 02 '23 23:04 haizadvnet

Did you get this working? I have the same error on Hmac.sha512() and Hmac.sha256()

jakenoble avatar Aug 02 '24 11:08 jakenoble