Flutter Gems is a curated list of 6000+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Cryptography, Security and Permissions packages
Last updated: December 4, 2024
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.
permission_handler
Dart 3 compatible 👍 5.47K
Maintenance Status: Good
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
uuid
Dart 3 compatible 👍 2.42K
Maintenance Status: Good
RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart
crypto
Dart 3 compatible 👍 1.67K
Maintenance Status: Good
Implementations of SHA, MD5, and HMAC cryptographic functions.
secure_application
Dart 3 compatible 👍 498
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
freerasp
Dart 3 compatible 👍 458
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.
pointycastle
Dart 3 compatible 👍 325
Maintenance Status: Good
A Dart library implementing cryptographic algorithms and primitives, modeled on the BouncyCastle library.
dart_jsonwebtoken
Dart 3 compatible 👍 292
Maintenance Status: Good
A dart implementation of the famous javascript library 'jsonwebtoken' (JWT).
safe_device
Dart 3 compatible 👍 276
Maintenance Status: Good
With the Flutter safe_device package, you can easily implement security steps such as Jailbroken, root, emulator and fake location detection.
screen_protector
Dart 3 compatible 👍 236
Maintenance Status: Good
Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.
at_client_mobile
Dart 3 compatible 👍 222
Maintenance Status: Good
A Flutter extension to the at_client library which adds support for mobile, desktop and IoT devices.
flutter_udid
Dart 3 compatible 👍 204
Maintenance Status: Good
Plugin to retrieve a persistent UDID across reinstalls on iOS and Android
fresh
Dart 3 compatible 👍 141
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...).
webcrypto
Dart 3 compatible 👍 74
Maintenance Status: Good
Cross-platform implementation of Web Cryptography APIs for Flutter.
hashlib
Dart 3 compatible 👍 59
Maintenance Status: Good
Secure hash functions, checksum generators, and key derivation algorithms optimized for Dart.
fast_rsa
Dart 3 compatible 👍 58
Maintenance Status: Good
library for use RSA with support for android and ios, macOS, linux, windows and web
libsignal_protocol_dart
Dart 3 compatible 👍 55
Maintenance Status: Good
Signal Protocol libray for Dart native and Flutter, pure Dart implementation of the the Signal Protocol
unique_identifier
Dart 3 compatible 👍 54
Maintenance Status: Good
A new Flutter plugin for fetching the unique identifier from android and ios.
g_recaptcha_v3
Dart 3 compatible 👍 50
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.
ulid
Dart 3 compatible 👍 44
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.
flutter_security_checker
Dart 3 compatible 👍 44
Maintenance Status: Good
This plugin provides the ability to verify rooting and integrity on Android and iOS platforms.
openpgp
Dart 3 compatible 👍 38
Maintenance Status: Good
library for use OpenPGP with support for android and ios, macOS, linux, windows and web
easy_permission_validator
Dart 3 compatible 👍 36
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
Dart 3 compatible 👍 35
Maintenance Status: Good
Mobile secure keyboard to prevent KeyLogger attack and screen capture.
objectid
Dart 3 compatible 👍 34
Maintenance Status: Good
Blazing fast, cross-platform ObjectId implementation for the dart language.
aes_crypt_null_safe
Dart 3 compatible 👍 31
Maintenance Status: Good
Dart encryption library for encrypting/decrypting files, plain text and binary data in AES Crypt file format.
sqlcipher_flutter_libs
Dart 3 compatible 👍 30
Maintenance Status: Good
Flutter plugin to include native SQLCipher libraries in your app
corsac_jwt
Dart 3 compatible 👍 28
Maintenance Status: Good
Lightweight implementation of JSON Web Tokens (JWT).
sodium
Dart 3 compatible 👍 24
Maintenance Status: Good
Dart bindings for libsodium, for the Dart-VM and for the Web
pem
Dart 3 compatible 👍 19
Maintenance Status: Good
PEM encoding/decoding of textual keys following RFC 7468, supporting both lax/strict-mode, and certificates chains of concatenated PEM blocks.
permission_policy
Dart 3 compatible 👍 15
Maintenance Status: Good
Permission policy helps you manage permissions in your Flutter application.
root_jailbreak_sniffer
Dart 3 compatible 👍 14
Maintenance Status: Good
A Flutter Plugin to detect root including magiskhide to some extent on android and JailBreak on iOS
at_client
Dart 3 compatible 👍 13
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.
expire_it
Dart 3 compatible 👍 8
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_lookup
Dart 3 compatible 👍 8
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.)
at_backupkey_flutter
Dart 3 compatible 👍 5
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.
id_gen
Dart 3 compatible 👍 4
Maintenance Status: Good
A standardized and well-tested set of IDs generators: globally unique, readable, time-dependency, transitive, incremental, decremental IDs.
encrypt
Dart 3 compatible 👍 1.01K
Maintenance Status: Average
A set of high-level APIs over PointyCastle for two-way cryptography.
flutter_jailbreak_detection
Dart 3 compatible 👍 331
Maintenance Status: Average
Flutter jailbreak and root detection plugin. This plugin wraps Rootbeer for use on Android and DTTJailbreakDetection for use on iOS.
cryptography
Dart 3 compatible 👍 264
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.
jose
Dart 3 compatible 👍 64
Maintenance Status: Average
Javascript Object Signing and Encryption (JOSE) library supporting JWE, JWS, JWK and JWT
crypton
Dart 3 compatible 👍 63
Maintenance Status: Average
A simple Dart library for asymmetric encryption and digital signatures
focus_detector_v2
Dart 3 compatible 👍 48
Maintenance Status: Average
Detects when your widget appears or disappears from the screen.
slugid
Dart 3 compatible 👍 47
Maintenance Status: Average
A URL-safe base64 encoding for UUIDv4 stripped of padding. Useful when embedding short random UUIDs in URLs.
keycloak_flutter
Dart 3 compatible 👍 39
Maintenance Status: Average
Keycloak client adapter for flutter based on the keycloak-js implementation.
crypt
Dart 3 compatible 👍 36
Maintenance Status: Average
One-way string hashing for salted passwords using the Unix crypt format
cryptography_flutter
Dart 3 compatible 👍 31
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.
safe_url_check
Dart 3 compatible 👍 23
Maintenance Status: Average
Check if an untrusted URL is broken, without allowing connections to a private IP address.
jwk
Dart 3 compatible 👍 5
Maintenance Status: Average
JWK (JSON Web Key) encoding and decoding (for package:cryptography).
borsh
Dart 3 compatible 👍 4
Maintenance Status: Average
Implementation of the borsh serialization scheme
jwt_decoder
Dart 3 compatible 👍 485
Maintenance Status: Poor
This small library helps you to decode Json Web Tokens, you can also know if a JWT is already expired.
nanoid
Dart 3 compatible 👍 121
Maintenance Status: Poor
A tiny, secure, URL-friendly, unique string ID generator. Dart implementation of ai/nanoid
jwt_decode
Dart 3 compatible 👍 116
Maintenance Status: Poor
A easy dart package to decode JSON Web Tokens, and to check and give its expiry dates
notification_permissions
Dart 3 compatible 👍 114
Maintenance Status: Poor
A plugin to check and ask for notification permissions on Android and iOS
jaguar_jwt
Dart 3 compatible 👍 75
Maintenance Status: Poor
Provides JWT utilities for Dart including issuing a token, verifing a token and parsing a token.
steel_crypt
Dart 3 compatible 👍 70
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.
ssl_pinning_plugin
Dart 3 compatible 👍 70
Maintenance Status: Poor
SSL Pinning plugin for HTTP requests (Validation by SHA-1 or SHA-256).
privacy_screen
Dart 3 compatible 👍 65
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.
rsa_encrypt
Dart 3 compatible 👍 60
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
Dart 3 compatible 👍 45
Maintenance Status: Poor
A port of jBCrypt to Dart. It allows to encrypt passwords using BCrypt with a configurable work factor and check passwords.
file_cryptor
Dart 3 compatible 👍 44
Maintenance Status: Poor
FileCryptor is for encryption and decryption files. (PDF, MP3, MP4, PNG, ...)
encryptor
Dart 3 compatible 👍 32
Maintenance Status: Poor
AES with PKCS7 padding encryption with simple encrypt/decrypt functions.
secure_app_switcher
Dart 3 compatible 👍 31
Maintenance Status: Poor
Apply a safe masking effect to the app screen on the app switcher or task list.
crypto_keys
Dart 3 compatible 👍 31
Maintenance Status: Poor
A library for doing cryptographic signing/verifying and encrypting/decrypting.
bcrypt
Dart 3 compatible 👍 31
Maintenance Status: Poor
This package use jBCrypt modified code to work with Dart VM.
hashids2
Dart 3 compatible 👍 29
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.
password_credential
Dart 3 compatible 👍 28
Maintenance Status: Poor
Access to Credential Management API Password Credential in Web, and Smartlock for Password in Android.
captcha_solver
Dart 3 compatible 👍 28
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 )
dart_des
Dart 3 compatible 👍 27
Maintenance Status: Poor
This algorithm is a pure dart implementation of the DES and Triple DES algorithms.
secure_shared_preferences
Dart 3 compatible 👍 23
Maintenance Status: Poor
Simple to use yet powerful package to encypt shared preferences in android and UserDefaults in iOS.
jwt_io
Dart 3 compatible 👍 20
Maintenance Status: Poor
JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.
permission_asker
Dart 3 compatible 👍 19
Maintenance Status: Poor
A wrapper for permission_handler which lifts some of the boilerplate needed to handle permissions in our apps.
xxtea
Dart 3 compatible 👍 14
Maintenance Status: Poor
XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for Dart.
huawei_safetydetect
Dart 3 compatible 👍 10
Maintenance Status: Poor
Huawei Safety Detect Flutter Plugin exposes all the functionality of the Huawei Safety Detect SDK which builds robust security capabilities.
rot13
Dart 3 compatible 👍 9
Maintenance Status: Poor
Flutter package to encode / decode string to ROT13 (rotate by 13 places)
casbin
Dart 3 compatible 👍 9
Maintenance Status: Poor
An authorization library that supports access control models like ACL, RBAC, ABAC.
openssh_ed25519
Dart 3 compatible 👍 1
Maintenance Status: Poor
Serialize an ed25519 key into the openssh format
trust_fall
👍 88
Maintenance Status: Poor
A Flutter plugin for detecting the trust fall of the device(Jailbroken, root, emulator and mock location detection).
aes_crypt
👍 87
Maintenance Status: Poor
Dart encryption library for encrypting/decrypting files, plain text and binary data in AES Crypt file format.
encrypted_shared_preferences
👍 83
Maintenance Status: Poor
This plugin stores Shared Preferences as encrypted values on device storage.
flutter_string_encryption
👍 42
Maintenance Status: Poor
Cross-platform string encryption using common best-practices.
flutter_recaptcha_v2
👍 39
Maintenance Status: Poor
A Flutter plugin for Google ReCaptcha V2.
permissions_plugin
👍 15
Maintenance Status: Poor
Plugin for permission managment on runtime