Argon2Context.fromEncoded constructor
Creates an Argon2Context instance from an encoded PHC-compliant string.
The encoded string may look like this:
$argon2i$v=19$m=16,t=2,p=1$c29tZSBzYWx0$u1eU6mZFG4/OOoTdAtM5SQ
Implementation
factory Argon2Context.fromEncoded(
CryptData data, {
List<int>? key,
List<int>? personalization,
}) {
var type = _nameToType(data.id);
var version = _valueToVersion(int.tryParse(data.version ?? '0') ?? 0);
if (data.params == null) {
throw ArgumentError('No paramters');
}
var m = data.params!['m'];
if (m == null) {
throw ArgumentError('Missing parameter: m');
}
var t = data.params!['t'];
if (t == null) {
throw ArgumentError('Missing parameter: t');
}
var p = data.params!['p'];
if (p == null) {
throw ArgumentError('Missing parameter: p');
}
return Argon2Context(
type: type,
version: version,
iterations: int.parse(t),
parallelism: int.parse(p),
memorySizeKB: int.parse(m),
salt: data.saltBytes(),
hashLength: data.hashBytes()?.lengthInBytes,
key: key,
personalization: personalization,
);
}