Flutter RNCryptor package
RNCryptor specification can be found here.
First import it in your Dart code:
Using RNCryptor is simple, just call the encrypt method to encrypt your text by using the specified password:
var encrypted = RNCryptor.encrypt('my password', 'some plain text');
Call decrypt method to decrypt the encrypted text:
var encrypted = RNCryptor.decrypt('my password', 'an encrypted message');
Converting a password into a key is intentionally slow. In case your app encrypts/decrypts many short messages, using password would have a significant performance impact. In that case using keys would be preferred.
Use the generateKey method to generate a new key from a password and a salt:
var salt = RNCryptor.generateSalt(); var encryptKey = RNCryptor.generateKey('my password', salt);
RNCryptor uses two 256-bit (32 byte) length keys for encryption and authentication. The encryptWithKey method encrypts the message with the specified keys:
RNCryptor.encryptWithKey(encryptKey, hmacKey, 'some plain text');
Call the decryptWithKey method to decrypt a message encrypted with a known key:
RNCryptor.decryptWithKey(encryptKey, hmacKey, 'an encrypted message');