r_crypto
rust backend support crypto flutter library, much faster than dart-implementation library, light-weight library.
some crypto support hardware accelerate.
support algorithm
hashes
- md5
- sha1
- sha2
- sha224
- sha256
- sha384
- sha512-trunc224
- sha512-trunc256
- sha3
- sha3-224
- sha3-256
- sha3-384
- sha3-512
- shake-128
- shake-256
- keccak224
- keccak256
- keccak384
- keccak512
- whirlpool
- blake2
- blake2b
- blake2s
- blake3
- groestl
- groestl224
- groestl256
- groestl384
- groestl512
- groestlbig
- groestlsmall
- ripemd160 (ripemd-320 provides only the same security as ripemd-160)
- shabal
- shabal192
- shabal224
- shabal256
- shabal384
- shabal512
more digest will support soon.
support platform
- android
- arm64-v8a
- armeabi-v7a
- x86
- x86_64
- ios
- arm64
- x86_64
- macos
- x86_64
- arm64(wip)
- windows
- x86_64
- x86(not support now and feature)
- linux
- x86_64
example usage
hash
import 'package:r_crypto/r_crypto.dart';
// for fixed output length digest
rhash.hashstring(hashtype.md5, input);
// for dynamic output length digest
rhash.hashstring(hashtype.blake3(length: 64), input);
// also accept list<int> as parameter
rhash.hashlist(hashtype.keccak_224, [0,1,2]);
// hash file
rhash.filepath(hashtype.blake3(length: 32), path);
// encode the list
hex.encode(list);
note
- windows user needs to download the rcrypto.dll and put it in the same folder with *.exe. it’s the limitation of the flutter windows plugin now.
todo
- [x] support file input
- [ ] support encrypt/decrypt algorithm
Comments are closed.