salsa20Encrypt static method

String salsa20Encrypt({
  1. required String plainText,
  2. required String key,
  3. required String iv,
  4. UByteEncoding keyEncoding = UByteEncoding.utf8,
  5. UByteEncoding ivEncoding = UByteEncoding.utf8,
})

Salsa20 stream cipher (no tamper check); key 32 bytes, IV 8 bytes. salsa20Encrypt(plainText: "x", key: k, iv: "8bytesiv")

Implementation

static String salsa20Encrypt({required String plainText, required String key, required String iv, UByteEncoding keyEncoding = UByteEncoding.utf8, UByteEncoding ivEncoding = UByteEncoding.utf8}) =>
    base64.encode(_salsa20(_fit(_bytes(key, keyEncoding), 32), _fit(_bytes(iv, ivEncoding), 8), _u8(plainText)));