Flutter Gems is a curated list of 6700+ useful Dart & Flutter packages that are categorized based on functionality.
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 compatibleMaintenance Status: Good
RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart
crypto
👍 1.71K ⬇️ 5.8M
Dart 3 compatibleMaintenance Status: Good
Implementations of SHA, MD5, and HMAC cryptographic functions.
permission_handler
👍 5.58K ⬇️ 1.4M
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Good
A Dart library implementing cryptographic algorithms and primitives, modeled on the BouncyCastle library.
encrypt
👍 1.02K ⬇️ 571.5K
Dart 3 compatibleMaintenance Status: Average
A set of high-level APIs over PointyCastle for two-way cryptography.
jwt_decoder
👍 498 ⬇️ 423K
Dart 3 compatibleMaintenance 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](/media-cards/secure_application.jpg)
secure_application
👍 507 ⬇️ 5K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Good
A dart implementation of the famous javascript library 'jsonwebtoken' (JWT).
freerasp
👍 471 ⬇️ 20.1K
Dart 3 compatibleMaintenance 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](/media-cards/safe_device.png)
safe_device
👍 304 ⬇️ 128.7K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
A starting point for Dart libraries or applications.
flutter_udid
👍 215 ⬇️ 176.4K
Dart 3 compatibleMaintenance Status: Good
Plugin to retrieve a persistent UDID across reinstalls on iOS and Android
cryptography
👍 270 ⬇️ 118.7K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Poor
Dart port of ed25519 from Go Cryptography ed25519
screen_protector
👍 254 ⬇️ 13.3K
Dart 3 compatibleMaintenance Status: Good
Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.
at_client_mobile
👍 222 ⬇️ 2.8K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Average
Javascript Object Signing and Encryption (JOSE) library supporting JWE, JWS, JWK and JWT
fresh
👍 143 ⬇️ 13.3K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
A tiny, secure, URL-friendly, unique string ID generator. Dart implementation of ai/nanoid
notification_permissions
👍 115 ⬇️ 31.4K
Dart 3 compatibleMaintenance Status: Poor
A plugin to check and ask for notification permissions on Android and iOS
bech32
👍 4 ⬇️ 100.3K
Dart 3 compatibleMaintenance Status: Average
Library implementing Bitcoins BIP173 (Bech32 encoding) specification in a Flutter friendly fashion.
base58check
👍 2 ⬇️ 100.4K
Dart 3 compatibleMaintenance Status: Poor
Base58Check encoding using dart:convert interface
jaguar_jwt
👍 75 ⬇️ 30.6K
Dart 3 compatibleMaintenance Status: Poor
Provides JWT utilities for Dart including issuing a token, verifing a token and parsing a token.
objectid
👍 36 ⬇️ 49.7K
Dart 3 compatibleMaintenance Status: Good
Blazing fast, cross-platform ObjectId implementation for the dart language.
recaptcha_enterprise_flutter
👍 36 ⬇️ 48K
Dart 3 compatibleMaintenance Status: Good
A flutter plugin for reCAPTCHA Enterprise.
safe_url_check
👍 23 ⬇️ 52.4K
Dart 3 compatibleMaintenance Status: Average
Check if an untrusted URL is broken, without allowing connections to a private IP address.
webcrypto
👍 74 ⬇️ 3.7K
Dart 3 compatibleMaintenance Status: Good
Cross-platform implementation of Web Cryptography APIs for Flutter.
xxh3
👍 5 ⬇️ 61K
Dart 3 compatibleMaintenance Status: Good
A Dart implementation (port) of the XXH3 hashing algorithm from xxHash.
crypton
👍 63 ⬇️ 9.3K
Dart 3 compatibleMaintenance Status: Average
A simple Dart library for asymmetric encryption and digital signatures
privacy_screen
👍 67 ⬇️ 5.8K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Good
Secure hash functions, checksum generators, and key derivation algorithms optimized for Dart.
unique_identifier
👍 56 ⬇️ 13.9K
Dart 3 compatibleMaintenance Status: Good
A new Flutter plugin for fetching the unique identifier from android and ios.
ssl_pinning_plugin
👍 71 ⬇️ 485
Dart 3 compatibleMaintenance Status: Poor
SSL Pinning plugin for HTTP requests (Validation by SHA-1 or SHA-256).
fast_rsa
👍 60 ⬇️ 9.4K
Dart 3 compatibleMaintenance Status: Good
library for use RSA with support for android and ios, macOS, linux, windows and web
pem
👍 20 ⬇️ 42.3K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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](/media-cards/g_recaptcha_v3.png)
g_recaptcha_v3
👍 51 ⬇️ 15.1K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Good
Signal Protocol libray for Dart native and Flutter, pure Dart implementation of the the Signal Protocol
pinenacl
👍 23 ⬇️ 27.8K
Dart 3 compatibleMaintenance Status: Good
The Dart implementation of the PyNaCl APIs with the TweetNaCl cryptographic library
ulid
👍 44 ⬇️ 10.3K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Average
One-way string hashing for salted passwords using the Unix crypt format
app_set_id
👍 24 ⬇️ 23.8K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Good
This plugin provides the ability to verify rooting and integrity on Android and iOS platforms.
sane_uuid
👍 3 ⬇️ 40.1K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
A Package providing sasl/scram authentication. Both scram-1 and scram-256 are managed.
sqlcipher_flutter_libs
👍 31 ⬇️ 15.2K
Dart 3 compatibleMaintenance Status: Good
Flutter plugin to include native SQLCipher libraries in your app
focus_detector_v2
👍 49 ⬇️ 4
Dart 3 compatibleMaintenance Status: Average
Detects when your widget appears or disappears from the screen.
saslprep
👍 1 ⬇️ 40K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
FileCryptor is for encryption and decryption files. (PDF, MP3, MP4, PNG, ...)
nanoid2
👍 26 ⬇️ 14.9K
Dart 3 compatibleMaintenance Status: Average
A tiny, secure, URL-friendly, unique string ID generator, nanoid with a pure Dart API.
nonce
👍 12 ⬇️ 24.1K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Good
library for use OpenPGP with support for android and ios, macOS, linux, windows and web
bcrypt
👍 32 ⬇️ 6.6K
Dart 3 compatibleMaintenance Status: Poor
This package use jBCrypt modified code to work with Dart VM.
keycloak_flutter
👍 39 ⬇️ 783
Dart 3 compatibleMaintenance Status: Average
Keycloak client adapter for flutter based on the keycloak-js implementation.
dart_des
👍 28 ⬇️ 8.9K
Dart 3 compatibleMaintenance Status: Poor
This algorithm is a pure dart implementation of the DES and Triple DES algorithms.
corsac_jwt
👍 28 ⬇️ 8.3K
Dart 3 compatibleMaintenance Status: Good
Lightweight implementation of JSON Web Tokens (JWT).
shortid
👍 20 ⬇️ 13.7K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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](/media-cards/flutter_secure_keyboard.png)
flutter_secure_keyboard
👍 36 ⬇️ 79
Dart 3 compatibleMaintenance Status: Good
Mobile secure keyboard to prevent KeyLogger attack and screen capture.
encryptor
👍 34 ⬇️ 647
Dart 3 compatibleMaintenance Status: Poor
AES with PKCS7 padding encryption with simple encrypt/decrypt functions.
crypto_keys
👍 32 ⬇️ 1.7K
Dart 3 compatibleMaintenance Status: Poor
A library for doing cryptographic signing/verifying and encrypting/decrypting.
![secure_app_switcher Card Image](/media-cards/secure_app_switcher.png)
secure_app_switcher
👍 32 ⬇️ 89
Dart 3 compatibleMaintenance Status: Good
Apply a safe masking effect to the app screen on the app switcher or task list.
ndef
👍 11 ⬇️ 17K
Dart 3 compatibleMaintenance Status: Good
A Dart library to decode & encode NDEF records, supporting multiple types.
hashids2
👍 29 ⬇️ 2K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Average
A library for doing cryptographic signing/verifying and encrypting/decrypting.
root_jailbreak_sniffer
👍 17 ⬇️ 11.6K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Average
Privacy-Enhanced Mail (PEM) parser, RSA, PKCS#1, PKCS#8, X.509
captcha_solver
👍 29 ⬇️ 443
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Good
A plugin/utility that provides compile-time variables for native platforms.
xid
👍 27 ⬇️ 1.6K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
Access to Credential Management API Password Credential in Web, and Smartlock for Password in Android.
![permission_guard Card Image](/media-cards/permission_guard.png)
permission_guard
👍 27 ⬇️ 216
Dart 3 compatibleMaintenance Status: Good
UI wrapper around permission_handler package that makes handling permission states easy.
secure_shared_preferences
👍 24 ⬇️ 2.6K
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
Emulates C# Guid. Generate new UUIDs, add variables of type Guid to classes.
sec
👍 4 ⬇️ 18.9K
Dart 3 compatibleMaintenance Status: Average
Implementation of Standards for Efficient Cryptography (SEC) including SECP256K1 and SECP256R1.
jose_plus
👍 3 ⬇️ 19.6K
Dart 3 compatibleMaintenance Status: Good
Javascript Object Signing and Encryption (JOSE) library supporting JWE, JWS, JWK and JWT
sodium
👍 24 ⬇️ 2K
Dart 3 compatibleMaintenance Status: Good
Dart bindings for libsodium, for the Dart-VM and for the Web
flutter_easy_permission
👍 26 ⬇️ 260
Dart 3 compatibleMaintenance Status: Poor
Permission plugin for Flutter.This is a wrapper for the easypermissions library.
x509_plus
👍 2 ⬇️ 19.7K
Dart 3 compatibleMaintenance Status: Average
Dart library for parsing and working with X.509 certificates.
flutter_secure
👍 25 ⬇️ 135
Dart 3 compatibleMaintenance Status: Average
A Package that provides you tools to make your flutter apps more secure
env_reader
👍 23 ⬇️ 55
Dart 3 compatibleMaintenance Status: Average
Read, encrypt, or generate environment variables from a .env file into an obfuscated Dart model.
xxtea
👍 14 ⬇️ 6.4K
Dart 3 compatibleMaintenance Status: Poor
XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for Dart.
jwt_io
👍 20 ⬇️ 933
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Good
Permission policy helps you manage permissions in your Flutter application.
at_lookup
👍 9 ⬇️ 4.1K
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Poor
An authorization library that supports access control models like ACL, RBAC, ABAC.
huawei_safetydetect
👍 10 ⬇️ 1
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Poor
Flutter package to encode / decode string to ROT13 (rotate by 13 places)
expire_it
👍 8 ⬇️ 24
Dart 3 compatibleMaintenance 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 compatibleMaintenance 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 compatibleMaintenance Status: Average
JWK (JSON Web Key) encoding and decoding (for package:cryptography).
borsh
👍 5 ⬇️ 23
Dart 3 compatibleMaintenance Status: Average
Implementation of the borsh serialization scheme
id_gen
👍 4 ⬇️ 106
Dart 3 compatibleMaintenance 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 compatibleMaintenance Status: Good
A Flutter package for checking device security status, including root detection, developer mode, and dangerous apps.
openssh_ed25519
👍 1 ⬇️ 453
Dart 3 compatibleMaintenance 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