crypto_x 0.0.6 copy "crypto_x: ^0.0.6" to clipboard
crypto_x: ^0.0.6 copied to clipboard

A Dart library for encryption and decryption. Advanced RSA, AES based on pointycastle.

crypto_x #

Pub support

A Dart library for encryption and decryption. Advanced RSA, AES based on pointycastle.

Features #

  • RSA with PKCS1 and OAEP encoding.
  • Generate RSA KeyPairs and import to pem format.

Getting started #

Add the package to your pubspec.yaml:

dependencies:
  crypto_x: <latest_version>

Usage #

AES #

Supported modes are:

  • CBC AESMode.cbc
  • CFB-8 AESMode.cfb8
  • CFB-128 AESMode.cfb
  • CTR AESMode.ctr
  • ECB AESMode.ecb
  • OFB-128 AESMode.ofb
    final key = CipherKey.fromUtf8('your key................');
    final iv = CipherIV.fromLength(16);
    var aes = AES(key: key, mode: AESMode.cbc);
    CryptoBytes encrypted = aes.encrypt(CryptoBytes.fromUTF8('hello world.'), iv: iv);
    String encryptedBase64 = decrypted.base64;
    CryptoBytes decrypted = aes.decrypt(encrypted, iv: iv);
    String plainText = decrypted.toString();

RSA #

  • encrypt and decrypt
    var privateRSA = RSA(
        privateKey: privateKey);
    var publicRSA = RSA(
        publicKey: publicKey);
    CryptoBytes signature = publicRSA.encrypt(CryptoBytes.fromUTF8('hello world'));
    String ciphertext = signature.base64;
    CryptoBytes plainBytes = publicRSA.decrypt(signature);
    String plainText = plainBytes.toString();
  • sign and verify
    var rsaSigner = RSASigner(digestType = DigestType.sha256, privateKey: privateKey, publicKey: publicKey);
    var plainBytes = CryptoBytes.fromUTF8('hello world');
    CryptoBytes signature = rsaSigner.sign(plainBytes);
    bool isSame = rsaSigner.verify(signature, plainBytes);
0
likes
160
points
64
downloads

Publisher

unverified uploader

Weekly Downloads

A Dart library for encryption and decryption. Advanced RSA, AES based on pointycastle.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

crypto, flutter, pointycastle

More

Packages that depend on crypto_x