For the iOS side, I implemented the format described in the article
directly inside the native plugin, and used the following library to
help me with Apple's CommonCrypto functions which are not really easy to
interact with otherwise:
https://github.com/sgl0v/SCrypto

Support

In order to work on iOS, you need to bump the iOS support version up to
9.0. This can be done inside your ios project Podfile by uncommenting
the very first line of the file:

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

Usage

final cryptor = new PlatformStringCryptor();

Generate A Secret Key

Randomly

Generate it and store it in a safe place - e.g. the Keychain/KeyStore

final String key = await cryptor.generateRandomKey();

Password-Based

Generate and (safely) store the salt, and then generate the key with a user-provided
password before encrypting/decrypting your strings.