- Notifications
You must be signed in to change notification settings - Fork24
RSA for flutter made with golang for fast performance with support for android, ios, macos, linux, windows and web
License
NotificationsYou must be signed in to change notification settings
jerson/flutter-rsa
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Library for use RSA with support for android, ios, macos, windows, linux and web
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.encryptOAEP(message, label,Hash.HASH_SHA256, publicKey)var result=awaitRSA.encryptPKCS1v15(message, publicKey)var result=awaitRSA.encryptOAEPBytes(messageBytes, label,Hash.SHA256, publicKey)var result=awaitRSA.encryptPKCS1v15Bytes(messageBytes, publicKey)
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.decryptOAEP(message, label,Hash.HASH_SHA256, privateKey)var result=awaitRSA.decryptPKCS1v15(message, privateKey)var result=awaitRSA.decryptOAEPBytes(messageBytes, label,Hash.SHA256, privateKey)var result=awaitRSA.decryptPKCS1v15Bytes(messageBytes, privateKey)
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.signPSS(message,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, privateKey)var result=awaitRSA.signPKCS1v15(message,Hash.SHA256, privateKey)var result=awaitRSA.signPSSBytes(messageBytes,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, privateKey)var result=awaitRSA.signPKCS1v15Bytes(messageBytes,Hash.SHA256, privateKey)
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.verifyPSS(signature, message,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, publicKey)var result=awaitRSA.verifyPKCS1v15(signature, message,Hash.SHA256, publicKey)var result=awaitRSA.verifyPSSBytes(signatureBytes, messageBytes,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, publicKey)var result=awaitRSA.verifyPKCS1v15Bytes(signatureBytes, messageBytes,Hash.SHA256, publicKey)
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.generate(2048)
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.convertJWKToPrivateKey(data, keyId);var result=awaitRSA.convertJWKToPublicKey(data, keyId);var result=awaitRSA.convertKeyPairToPKCS12(privateKey, certificate, password);var result=awaitRSA.convertPKCS12ToKeyPair(pkcs12, password);var result=awaitRSA.convertPrivateKeyToPKCS8(privateKey);var result=awaitRSA.convertPrivateKeyToPKCS1(privateKey);var result=awaitRSA.convertPrivateKeyToJWK(privateKey);var result=awaitRSA.convertPrivateKeyToPublicKey(privateKey);var result=awaitRSA.convertPublicKeyToPKIX(publicKey);var result=awaitRSA.convertPublicKeyToPKCS1(publicKey);var result=awaitRSA.convertPublicKeyToJWK(publicKey);var result=awaitRSA.encryptPrivateKey(privateKey, password,PEMCipher.PEMCIPHER_AES256);var result=awaitRSA.decryptPrivateKey(privateKeyEncrypted, password);
import'package:fast_rsa/fast_rsa.dart';var result=awaitRSA.hash(message,Hash.SHA256);var result=awaitRSA.base64(message);
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.encryptOAEP(message, label,Hash.HASH_SHA256, publicKey);var result=RSASync.encryptPKCS1v15(message, publicKey);var result=RSASync.encryptOAEPBytes(messageBytes, label,Hash.SHA256, publicKey);var result=RSASync.encryptPKCS1v15Bytes(messageBytes, publicKey);
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.decryptOAEP(message, label,Hash.HASH_SHA256, privateKey);var result=RSASync.decryptPKCS1v15(message, privateKey);var result=RSASync.decryptOAEPBytes(messageBytes, label,Hash.SHA256, privateKey);var result=RSASync.decryptPKCS1v15Bytes(messageBytes, privateKey);
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.signPSS(message,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, privateKey);var result=RSASync.signPKCS1v15(message,Hash.SHA256, privateKey);var result=RSASync.signPSSBytes(messageBytes,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, privateKey);var result=RSASync.signPKCS1v15Bytes(messageBytes,Hash.SHA256, privateKey);
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.verifyPSS(signature, message,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, publicKey);var result=RSASync.verifyPKCS1v15(signature, message,Hash.SHA256, publicKey);var result=RSASync.verifyPSSBytes(signatureBytes, messageBytes,Hash.SHA256,SaltLength.SALTLENGTH_AUTO, publicKey);var result=RSASync.verifyPKCS1v15Bytes(signatureBytes, messageBytes,Hash.SHA256, publicKey);
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.generate(2048)
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.convertJWKToPrivateKey(data, keyId);var result=RSASync.convertJWKToPublicKey(data, keyId);var result=RSASync.convertKeyPairToPKCS12(privateKey, certificate, password);var result=RSASync.convertPKCS12ToKeyPair(pkcs12, password);var result=RSASync.convertPrivateKeyToPKCS8(privateKey);var result=RSASync.convertPrivateKeyToPKCS1(privateKey);var result=RSASync.convertPrivateKeyToJWK(privateKey);var result=RSASync.convertPrivateKeyToPublicKey(privateKey);var result=RSASync.convertPublicKeyToPKIX(publicKey);var result=RSASync.convertPublicKeyToPKCS1(publicKey);var result=RSASync.convertPublicKeyToJWK(publicKey);var result=RSASync.encryptPrivateKey(privateKey, password,PEMCipher.PEMCIPHER_AES256);var result=RSASync.decryptPrivateKey(privateKeyEncrypted, password);
import'package:fast_rsa/fast_rsa_sync.dart';var result=RSASync.hash(message,Hash.SHA256);var result=RSASync.base64(message);
No additional setup required.
No additional setup required.
add to youpubspec.yaml
assets: -packages/fast_rsa/web/assets/worker.js -packages/fast_rsa/web/assets/wasm_exec.js -packages/fast_rsa/web/assets/rsa.wasm
ref:https://github.com/jerson/flutter-rsa/blob/master/example/pubspec.yaml
no additional setup required
No additional setup required.
No additional setup required.
Inside example folder
cd example&& flutter run
check our web demo: [https://flutter-rsa.jerson.dev/]
the native library is made in Golang and build with gomobile for faster performance
About
RSA for flutter made with golang for fast performance with support for android, ios, macos, linux, windows and web