Flutter Gems is a curated list of 6700+ useful Dart & Flutter packages that are categorized based on functionality.

Discord Medium LinkedIn Twitter

Top Flutter Cryptography, Security and Permissions packages

Last updated: January 26, 2025

Cryptography is the practice of secure communication and is widely used for email, file sharing, messaging and secure communications. Encryption is a key part of cryptography, and is used to protect information from unauthorized access. JWT, RSA, and AES are all examples of cryptographic algorithms that are used to encrypt and decrypt data. JWT is a standard for creating access tokens, RSA is a standard for public-key cryptography, and AES is a standard for symmetric-key cryptography.

The complete list of Dart and Flutter packages that can help you with Cryptography, Encryption, Hashing (SHA, MD5, HMAC), Security and Permissions is provided below.


uuid
👍 2.48K   ⬇️ 5.3M
Dart 3 compatible
Maintenance Status: Good

RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart

crypto
👍 1.71K   ⬇️ 5.8M
Dart 3 compatible
Maintenance Status: Good

Implementations of SHA, MD5, and HMAC cryptographic functions.

permission_handler
👍 5.58K   ⬇️ 1.4M
Dart 3 compatible
Maintenance Status: Good

Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

pointycastle
👍 335   ⬇️ 2.2M
Dart 3 compatible
Maintenance Status: Good

A Dart library implementing cryptographic algorithms and primitives, modeled on the BouncyCastle library.

encrypt
👍 1.02K   ⬇️ 571.5K
Dart 3 compatible
Maintenance Status: Average

A set of high-level APIs over PointyCastle for two-way cryptography.

jwt_decoder
👍 498   ⬇️ 423K
Dart 3 compatible
Maintenance Status: Poor

This small library helps you to decode Json Web Tokens, you can also know if a JWT is already expired.

secure_application Card Image
secure_application
👍 507   ⬇️ 5K
Dart 3 compatible
Maintenance Status: Good

Secure app content visibility when user leave app. It will hide content in the app switcher and display a frost barrier above locked content when the user get backs

flutter_jailbreak_detection
👍 347   ⬇️ 137.9K
Dart 3 compatible
Maintenance Status: Poor

Flutter jailbreak and root detection plugin. This plugin wraps Rootbeer for use on Android and DTTJailbreakDetection for use on iOS.

dart_jsonwebtoken
👍 304   ⬇️ 159.8K
Dart 3 compatible
Maintenance Status: Good

A dart implementation of the famous javascript library 'jsonwebtoken' (JWT).

freerasp
👍 471   ⬇️ 20.1K
Dart 3 compatible
Maintenance Status: Good

Flutter library for improving app security and threat monitoring on Android and iOS mobile devices. Learn more about provided features on the freeRASP's homepage first.

safe_device Card Image
safe_device
👍 304   ⬇️ 128.7K
Dart 3 compatible
Maintenance Status: Good

With the Flutter safe_device package, you can easily implement security steps such as Jailbroken, root, emulator and fake location detection.

hashcodes
👍 0   ⬇️ 380.6K
Dart 3 compatible
Maintenance Status: Poor

A starting point for Dart libraries or applications.

flutter_udid
👍 215   ⬇️ 176.4K
Dart 3 compatible
Maintenance Status: Good

Plugin to retrieve a persistent UDID across reinstalls on iOS and Android

cryptography
👍 270   ⬇️ 118.7K
Dart 3 compatible
Maintenance Status: Average

Cryptographic algorithms for encryption, digital signatures, key agreement, authentication, and hashing. AES, Chacha20, ED25519, X25519, Argon2, and more. Good cross-platform support.

jwt_decode
👍 116   ⬇️ 193K
Dart 3 compatible
Maintenance Status: Poor

A easy dart package to decode JSON Web Tokens, and to check and give its expiry dates

ed25519_edwards
👍 11   ⬇️ 216.6K
Dart 3 compatible
Maintenance Status: Poor

Dart port of ed25519 from Go Cryptography ed25519

screen_protector
👍 254   ⬇️ 13.3K
Dart 3 compatible
Maintenance Status: Good

Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.

at_client_mobile
👍 222   ⬇️ 2.8K
Dart 3 compatible
Maintenance Status: Good

A Flutter extension to the at_client library which adds support for mobile, desktop and IoT devices.

jose
👍 64   ⬇️ 123.6K
Dart 3 compatible
Maintenance Status: Average

Javascript Object Signing and Encryption (JOSE) library supporting JWE, JWS, JWK and JWT

fresh
👍 143   ⬇️ 13.3K
Dart 3 compatible
Maintenance Status: Good

An token refresh library for dart. This package exposes the core components that are common to various refresh token implementations (REST, GraphQL, etc...).

nanoid
👍 121   ⬇️ 29.2K
Dart 3 compatible
Maintenance Status: Poor

A tiny, secure, URL-friendly, unique string ID generator. Dart implementation of ai/nanoid

notification_permissions
👍 115   ⬇️ 31.4K
Dart 3 compatible
Maintenance Status: Poor

A plugin to check and ask for notification permissions on Android and iOS

bech32
👍 4   ⬇️ 100.3K
Dart 3 compatible
Maintenance Status: Average

Library implementing Bitcoins BIP173 (Bech32 encoding) specification in a Flutter friendly fashion.

base58check
👍 2   ⬇️ 100.4K
Dart 3 compatible
Maintenance Status: Poor

Base58Check encoding using dart:convert interface

jaguar_jwt
👍 75   ⬇️ 30.6K
Dart 3 compatible
Maintenance Status: Poor

Provides JWT utilities for Dart including issuing a token, verifing a token and parsing a token.

objectid
👍 36   ⬇️ 49.7K
Dart 3 compatible
Maintenance Status: Good

Blazing fast, cross-platform ObjectId implementation for the dart language.

recaptcha_enterprise_flutter
👍 36   ⬇️ 48K
Dart 3 compatible
Maintenance Status: Good

A flutter plugin for reCAPTCHA Enterprise.

safe_url_check
👍 23   ⬇️ 52.4K
Dart 3 compatible
Maintenance Status: Average

Check if an untrusted URL is broken, without allowing connections to a private IP address.

webcrypto
👍 74   ⬇️ 3.7K
Dart 3 compatible
Maintenance Status: Good

Cross-platform implementation of Web Cryptography APIs for Flutter.

xxh3
👍 5   ⬇️ 61K
Dart 3 compatible
Maintenance Status: Good

A Dart implementation (port) of the XXH3 hashing algorithm from xxHash.

crypton
👍 63   ⬇️ 9.3K
Dart 3 compatible
Maintenance Status: Average

A simple Dart library for asymmetric encryption and digital signatures

privacy_screen
👍 67   ⬇️ 5.8K
Dart 3 compatible
Maintenance Status: Poor

A plugin for hiding sensitive data when app is in app switcher and in background. It also provides automatic lock triggers with native lifeCycle events, and native lifeCycle listeners.

hashlib
👍 60   ⬇️ 10.6K
Dart 3 compatible
Maintenance Status: Good

Secure hash functions, checksum generators, and key derivation algorithms optimized for Dart.

unique_identifier
👍 56   ⬇️ 13.9K
Dart 3 compatible
Maintenance Status: Good

A new Flutter plugin for fetching the unique identifier from android and ios.

ssl_pinning_plugin
👍 71   ⬇️ 485
Dart 3 compatible
Maintenance Status: Poor

SSL Pinning plugin for HTTP requests (Validation by SHA-1 or SHA-256).

fast_rsa
👍 60   ⬇️ 9.4K
Dart 3 compatible
Maintenance Status: Good

library for use RSA with support for android and ios, macOS, linux, windows and web

pem
👍 20   ⬇️ 42.3K
Dart 3 compatible
Maintenance Status: Good

PEM encoding/decoding of textual keys following RFC 7468, supporting both lax/strict-mode, and certificates chains of concatenated PEM blocks.

steel_crypt
👍 70   ⬇️ 108
Dart 3 compatible
Maintenance Status: Poor

A comprehensive library of high-level, cryptographic APIs. This library supports hashing, password hashing, two-way encryption, MAC authentication, and key/IV generation.

g_recaptcha_v3 Card Image
g_recaptcha_v3
👍 51   ⬇️ 15.1K
Dart 3 compatible
Maintenance Status: Good

Google reCAPTCHA v3 plugin for Flutter Web. A Google reCAPTCHA is a free service that protects your website from spam and abuse.

rsa_encrypt
👍 61   ⬇️ 3.5K
Dart 3 compatible
Maintenance Status: Poor

Enable you to quickly implement rsa encryption in your flutter app, it covers everything from Generating key pairs, encrypt and decrypting strings.

dbcrypt
👍 46   ⬇️ 13.9K
Dart 3 compatible
Maintenance Status: Poor

A port of jBCrypt to Dart. It allows to encrypt passwords using BCrypt with a configurable work factor and check passwords.

slugid
👍 48   ⬇️ 8.5K
Dart 3 compatible
Maintenance Status: Average

A URL-safe base64 encoding for UUIDv4 stripped of padding. Useful when embedding short random UUIDs in URLs.

libsignal_protocol_dart
👍 57   ⬇️ 334
Dart 3 compatible
Maintenance Status: Good

Signal Protocol libray for Dart native and Flutter, pure Dart implementation of the the Signal Protocol

pinenacl
👍 23   ⬇️ 27.8K
Dart 3 compatible
Maintenance Status: Good

The Dart implementation of the PyNaCl APIs with the TweetNaCl cryptographic library

ulid
👍 44   ⬇️ 10.3K
Dart 3 compatible
Maintenance Status: Good

Lexicographically sortable, 128-bit identifier (UUID) with 48-bit timestamp and 80 random bits. Canonically encoded as a 26 character string, as opposed to the 36 character UUID.

aes_crypt_null_safe
👍 32   ⬇️ 19.9K
Dart 3 compatible
Maintenance Status: Good

Dart encryption library for encrypting/decrypting files, plain text and binary data in AES Crypt file format.

crypt
👍 36   ⬇️ 15.6K
Dart 3 compatible
Maintenance Status: Average

One-way string hashing for salted passwords using the Unix crypt format

app_set_id
👍 24   ⬇️ 23.8K
Dart 3 compatible
Maintenance Status: Good

Tiny Flutter plugin to retrieve the App Set ID (Android) or Identifier for Vendor (IDfV, iOS)

cryptography_flutter
👍 31   ⬇️ 17.4K
Dart 3 compatible
Maintenance Status: Average

Makes 'package:cryptography' use platform APIs in Android, iOS, and Mac OS X. The package can make performance up to 100 times better.

flutter_security_checker
👍 47   ⬇️ 3.9K
Dart 3 compatible
Maintenance Status: Good

This plugin provides the ability to verify rooting and integrity on Android and iOS platforms.

sane_uuid
👍 3   ⬇️ 40.1K
Dart 3 compatible
Maintenance Status: Good

A sane UUID implementation with support for generating and handling v1, v4 and v5 UUIDs according to RFC4122.

sasl_scram
👍 3   ⬇️ 39K
Dart 3 compatible
Maintenance Status: Poor

A Package providing sasl/scram authentication. Both scram-1 and scram-256 are managed.

sqlcipher_flutter_libs
👍 31   ⬇️ 15.2K
Dart 3 compatible
Maintenance Status: Good

Flutter plugin to include native SQLCipher libraries in your app

focus_detector_v2
👍 49   ⬇️ 4
Dart 3 compatible
Maintenance Status: Average

Detects when your widget appears or disappears from the screen.

saslprep
👍 1   ⬇️ 40K
Dart 3 compatible
Maintenance Status: Good

This package provides the Stringprep (rfc4013) Profile for User Names and Passwords for dart. A port of https://github.com/reklatsmasters/saslprep to the dart lang

file_cryptor
👍 44   ⬇️ 59
Dart 3 compatible
Maintenance Status: Poor

FileCryptor is for encryption and decryption files. (PDF, MP3, MP4, PNG, ...)

nanoid2
👍 26   ⬇️ 14.9K
Dart 3 compatible
Maintenance Status: Average

A tiny, secure, URL-friendly, unique string ID generator, nanoid with a pure Dart API.

nonce
👍 12   ⬇️ 24.1K
Dart 3 compatible
Maintenance Status: Poor

Nonce contains a static generator that generates random alphanumeric strings, and can be constructed as an object containing a generated string.

openpgp
👍 39   ⬇️ 1.1K
Dart 3 compatible
Maintenance Status: Good

library for use OpenPGP with support for android and ios, macOS, linux, windows and web

bcrypt
👍 32   ⬇️ 6.6K
Dart 3 compatible
Maintenance Status: Poor

This package use jBCrypt modified code to work with Dart VM.

keycloak_flutter
👍 39   ⬇️ 783
Dart 3 compatible
Maintenance Status: Average

Keycloak client adapter for flutter based on the keycloak-js implementation.

dart_des
👍 28   ⬇️ 8.9K
Dart 3 compatible
Maintenance Status: Poor

This algorithm is a pure dart implementation of the DES and Triple DES algorithms.

corsac_jwt
👍 28   ⬇️ 8.3K
Dart 3 compatible
Maintenance Status: Good

Lightweight implementation of JSON Web Tokens (JWT).

shortid
👍 20   ⬇️ 13.7K
Dart 3 compatible
Maintenance Status: Poor

ShortId creates short non-sequential url-friendly unique ids. Perfect for url shorteners, MongoDB and Redis ids etc. (port from js)

easy_permission_validator
👍 36   ⬇️ 152
Dart 3 compatible
Maintenance Status: Good

PermissonHandler is a package that manages permissions on Android and iOS, with this package you can find an easy way to use the PermissonHandler library.

flutter_secure_keyboard Card Image
flutter_secure_keyboard
👍 36   ⬇️ 79
Dart 3 compatible
Maintenance Status: Good

Mobile secure keyboard to prevent KeyLogger attack and screen capture.

encryptor
👍 34   ⬇️ 647
Dart 3 compatible
Maintenance Status: Poor

AES with PKCS7 padding encryption with simple encrypt/decrypt functions.

crypto_keys
👍 32   ⬇️ 1.7K
Dart 3 compatible
Maintenance Status: Poor

A library for doing cryptographic signing/verifying and encrypting/decrypting.

secure_app_switcher Card Image
secure_app_switcher
👍 32   ⬇️ 89
Dart 3 compatible
Maintenance Status: Good

Apply a safe masking effect to the app screen on the app switcher or task list.

ndef
👍 11   ⬇️ 17K
Dart 3 compatible
Maintenance Status: Good

A Dart library to decode & encode NDEF records, supporting multiple types.

hashids2
👍 29   ⬇️ 2K
Dart 3 compatible
Maintenance Status: Poor

Hashids is small library to generate YouTube-like ids from numbers. Use Hashids when you do not want to expose your database ids to the user.

crypto_keys_plus
👍 2   ⬇️ 24.2K
Dart 3 compatible
Maintenance Status: Average

A library for doing cryptographic signing/verifying and encrypting/decrypting.

root_jailbreak_sniffer
👍 17   ⬇️ 11.6K
Dart 3 compatible
Maintenance Status: Good

A Flutter Plugin to detect root including magiskhide to some extent on android and JailBreak on iOS

rsa_pkcs
👍 5   ⬇️ 20.5K
Dart 3 compatible
Maintenance Status: Average

Privacy-Enhanced Mail (PEM) parser, RSA, PKCS#1, PKCS#8, X.509

captcha_solver
👍 29   ⬇️ 443
Dart 3 compatible
Maintenance Status: Poor

captcha_solver is a service used for solving different type of captcha (images with text, Recaptcha v2/v3 Enterprise/non-Enterprise, Funcaptcha Arcoselabs, GeeTest and hCaptcha )

flutter_env_native
👍 28   ⬇️ 1.3K
Dart 3 compatible
Maintenance Status: Good

A plugin/utility that provides compile-time variables for native platforms.

xid
👍 27   ⬇️ 1.6K
Dart 3 compatible
Maintenance Status: Good

Xid is a globally unique id generator. Xids are small, fast to generate, sortable, compact URL-safe string with no configuration or central generator server.

password_credential
👍 28   ⬇️ 397
Dart 3 compatible
Maintenance Status: Poor

Access to Credential Management API Password Credential in Web, and Smartlock for Password in Android.

permission_guard Card Image
permission_guard
👍 27   ⬇️ 216
Dart 3 compatible
Maintenance Status: Good

UI wrapper around permission_handler package that makes handling permission states easy.

secure_shared_preferences
👍 24   ⬇️ 2.6K
Dart 3 compatible
Maintenance Status: Poor

Simple to use yet powerful package to encypt shared preferences in android and UserDefaults in iOS.

flutter_guid
👍 18   ⬇️ 7.4K
Dart 3 compatible
Maintenance Status: Poor

Emulates C# Guid. Generate new UUIDs, add variables of type Guid to classes.

sec
👍 4   ⬇️ 18.9K
Dart 3 compatible
Maintenance Status: Average

Implementation of Standards for Efficient Cryptography (SEC) including SECP256K1 and SECP256R1.

jose_plus
👍 3   ⬇️ 19.6K
Dart 3 compatible
Maintenance Status: Good

Javascript Object Signing and Encryption (JOSE) library supporting JWE, JWS, JWK and JWT

sodium
👍 24   ⬇️ 2K
Dart 3 compatible
Maintenance Status: Good

Dart bindings for libsodium, for the Dart-VM and for the Web

flutter_easy_permission
👍 26   ⬇️ 260
Dart 3 compatible
Maintenance Status: Poor

Permission plugin for Flutter.This is a wrapper for the easypermissions library.

x509_plus
👍 2   ⬇️ 19.7K
Dart 3 compatible
Maintenance Status: Average

Dart library for parsing and working with X.509 certificates.

flutter_secure
👍 25   ⬇️ 135
Dart 3 compatible
Maintenance Status: Average

A Package that provides you tools to make your flutter apps more secure

env_reader
👍 23   ⬇️ 55
Dart 3 compatible
Maintenance Status: Average

Read, encrypt, or generate environment variables from a .env file into an obfuscated Dart model.

xxtea
👍 14   ⬇️ 6.4K
Dart 3 compatible
Maintenance Status: Poor

XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for Dart.

jwt_io
👍 20   ⬇️ 933
Dart 3 compatible
Maintenance Status: Poor

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

base_codecs
👍 5   ⬇️ 13.1K
Dart 3 compatible
Maintenance Status: Poor

A set of base16 (hex), base32 (Rfc, RfcHex, Crockford, ZBase, GeoHash, WordSafe), Base58 (Bitcoin, Flickr, Ripple) with Base58Check, base85 (Ascii85, Z85, IPv6) codecs

permission_asker
👍 19   ⬇️ 4
Dart 3 compatible
Maintenance Status: Poor

A wrapper for permission_handler which lifts some of the boilerplate needed to handle permissions in our apps.

at_client
👍 13   ⬇️ 4K
Dart 3 compatible
Maintenance Status: Good

The at_client library is the non-platform specific Client SDK which provides the essential methods for building an app using the atProtocol.

permission_policy
👍 16   ⬇️ 430
Dart 3 compatible
Maintenance Status: Good

Permission policy helps you manage permissions in your Flutter application.

at_lookup
👍 9   ⬇️ 4.1K
Dart 3 compatible
Maintenance Status: Good

A Dart library that contains the core commands that can be used with a secondary server (scan, update, lookup, llookup, plookup, etc.)

security_plus
👍 13   ⬇️ 234
Dart 3 compatible
Maintenance Status: Good

A new Flutter plugin to detect more than one security alert like root, jailbreak, emulator, development mode , and external storage run.

casbin
👍 10   ⬇️ 1.5K
Dart 3 compatible
Maintenance Status: Poor

An authorization library that supports access control models like ACL, RBAC, ABAC.

huawei_safetydetect
👍 10   ⬇️ 1
Dart 3 compatible
Maintenance Status: Poor

Huawei Safety Detect Flutter Plugin exposes all the functionality of the Huawei Safety Detect SDK which builds robust security capabilities.

rot13
👍 9   ⬇️ 45
Dart 3 compatible
Maintenance Status: Poor

Flutter package to encode / decode string to ROT13 (rotate by 13 places)

expire_it
👍 8   ⬇️ 24
Dart 3 compatible
Maintenance Status: Good

App will expire or the user will not able to user after expiry date finishes. Best for freelancing client trial builds.

at_backupkey_flutter
👍 6   ⬇️ 945
Dart 3 compatible
Maintenance Status: Good

A Flutter plugin project for saving the backup key of any atSign that is being onboarded with atPlatform apps. The backup key can be used to authenticate in other atPlatform apps.

jwk
👍 5   ⬇️ 932
Dart 3 compatible
Maintenance Status: Average

JWK (JSON Web Key) encoding and decoding (for package:cryptography).

borsh
👍 5   ⬇️ 23
Dart 3 compatible
Maintenance Status: Average

Implementation of the borsh serialization scheme

id_gen
👍 4   ⬇️ 106
Dart 3 compatible
Maintenance Status: Good

A standardized and well-tested set of IDs generators: globally unique, readable, time-dependency, transitive, incremental, decremental IDs.

safesecurelibs
👍 4   ⬇️ 0
Dart 3 compatible
Maintenance Status: Good

A Flutter package for checking device security status, including root detection, developer mode, and dangerous apps.

openssh_ed25519
👍 1   ⬇️ 453
Dart 3 compatible
Maintenance Status: Poor

Serialize an ed25519 key into the openssh format

trust_fall
👍 88   ⬇️ 78

Maintenance Status: Poor

A Flutter plugin for detecting the trust fall of the device(Jailbroken, root, emulator and mock location detection).

encrypted_shared_preferences
👍 83   ⬇️ 3.6K

Maintenance Status: Poor

This plugin stores Shared Preferences as encrypted values on device storage.

aes_crypt
👍 87   ⬇️ 45

Maintenance Status: Poor

Dart encryption library for encrypting/decrypting files, plain text and binary data in AES Crypt file format.

flutter_string_encryption
👍 42   ⬇️ 31

Maintenance Status: Poor

Cross-platform string encryption using common best-practices.

flutter_recaptcha_v2
👍 39   ⬇️ 38

Maintenance Status: Poor

A Flutter plugin for Google ReCaptcha V2.

permissions_plugin
👍 15   ⬇️ 46

Maintenance Status: Poor

Plugin for permission managment on runtime