dargon2_interface 1.1.1 dargon2_interface: ^1.1.1 copied to clipboard
An interface for all dargon2 hashing functions. Provides the base outline for all implementations.
dargon2_interface #
This library generally should not be used in most contexts
This library only provides an interface to implement a dargon2-compatible argon2 hash binding.
This library is used by dargon2_core
and dargon2_flutter_web
to maintain cross-platform hashing functionality.
Usage #
A simple usage example:
import 'package:dargon2_interface/dargon2_interface.dart';
void main() {
// Create an instance of TestDArgon2
var dargon2 = TestDArgon2();
}
class TestDArgon2 extends DArgon2 {
@override
Future<DArgon2Result> hashPasswordBytes(List<int> password, {required Salt salt, int iterations = 32, int memory = 256, int parallelism = 2, int length = 32, Argon2Type type = Argon2Type.i, Argon2Version version = Argon2Version.V13}) {
// Create an implementation for hashing passwords with the given parameters
throw UnimplementedError();
}
@override
Future<bool> verifyHashBytes(List<int> password, List<int> encodedHash, {Argon2Type type = Argon2Type.i}) {
// Create an implementation for verifying passwords with the given parameters
throw UnimplementedError();
}
}
Features and bugs #
Please file feature requests and bugs at the issue tracker.
Please mark all dargon2_interface issues with [dargon2]
prepended to the issue title
Licensing #
- dargon2_core is Licensed under the MIT License
- The C implementation of Argon2 is licensed under a dual Apache and CC0 License