prefix_encrypt 1.0.1 copy "prefix_encrypt: ^1.0.1" to clipboard
prefix_encrypt: ^1.0.1 copied to clipboard

outdated

This dart package allows easy encryption of text using AEAD XChaCha20 Poly1305 and XChaCha20.

example/lib/example.dart

import 'package:flutter/cupertino.dart';
import 'package:prefix_encrypt/prefix_encrypt.dart';

void main () {
  // all values have to be in hexadecimal

  String aad = "000000000000000000000000"; // must be at least 1 character
  String key = "0000000000000000000000000000000000000000000000000000000000000000"; // Key must be 64 character
  String iv = "0000000000000000"; // must be at least 16 character
  String constant = "00000000"; // must be 8 character
  String hNonce = "000000000000000000000000000000000000000000000000"; // must be 48 character
  String plaintextPrefix = "Hello World!😄";
  String plaintextWithoutPrefix = "Hello World!";

  Future<void> aeadXchacha20poly1305prefix() async {
    List encrypt = await
    AEADxChaCha20poly1305withPrefix.encrypt(aad: aad, iv: iv, key: key, constant: constant, hNonce: hNonce, plaintext: plaintextPrefix);
    String decrypt = await AEADxChaCha20poly1305withPrefix.decrypt(aad: aad, iv: iv, key: key, constant: constant, hNonce: hNonce, ciphertext: encrypt[0], savedTag: encrypt[1]);

    debugPrint("$encrypt\n$decrypt");
  }

  Future<void> xChaChaPrefix() async {
    String encrypt = await XChaCha20withPrefix.encrypt(key: key, nonce: hNonce, plaintext: plaintextPrefix);
    String decrypt = await XChaCha20withPrefix.decrypt(key: key, nonce: hNonce, ciphertext: encrypt);

    debugPrint("$encrypt\n$decrypt");
  }

  Future<void> aeadXchacha20poly1305() async {
    List encrypt = await AEADxChaCha20poly1305.encrypt(aad: aad, iv: iv, key: key, constant: constant, hNonce: hNonce, plaintext: plaintextWithoutPrefix);
    String decrypt = await AEADxChaCha20poly1305.decrypt(aad: aad, iv: iv, key: key, constant: constant, hNonce: hNonce, ciphertext: encrypt[0], savedTag: encrypt[1]);

    debugPrint("$encrypt\n$decrypt");
  }

  Future<void> xChaCha20() async {
    String encrypt = await XChaCha20.encrypt(key: key, nonce: hNonce, plaintext: plaintextWithoutPrefix);
    String decrypt = await XChaCha20.decrypt(key: key, nonce: hNonce, ciphertext: encrypt);

    debugPrint("$encrypt\n$decrypt");
  }

  aeadXchacha20poly1305prefix();
  xChaChaPrefix();
  aeadXchacha20poly1305();
  xChaCha20();
}
2
likes
0
points
35
downloads

Publisher

unverified uploader

Weekly Downloads

This dart package allows easy encryption of text using AEAD XChaCha20 Poly1305 and XChaCha20.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

collection, flutter, material_color_utilities, meta, stack_trace, stream_channel, test_api

More

Packages that depend on prefix_encrypt