HashAlgorithm class abstract

A hash algorithm that produces a Hash.

Available algorithms

Example: simple usage

import 'package:cryptography/cryptography.dart';

void main() async {
  final algorithm = Sha256();
  final hash = await algorithm.hash([1,2,3]);
  print('Hash: ${hash.bytes}');
}

Example: hashing many chunks

import 'package:cryptography/cryptography.dart';

void main() async {
  // Create a sink
  final algorithm = Sha256();
  final sink = algorithm.newHashSink();

  // Add all parts
  sink.add(<int>[1,2,3]);
  sink.add(<int>[4,5]);

  // Calculate hash
  sink.close();
  final hash = await sink.hash();

  print('Hash: ${hash.bytes}');
}
Implementers

Constructors

HashAlgorithm()
const

Properties

blockLengthInBytes → int
The internal block size in bytes. This information is required by some algorithms such as Hmac.
no setter
hashCode → int
The hash code for this object.
no setteroverride
hashLengthInBytes → int
Digest size in bytes.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

hash(List<int> input) → Future<Hash>
Calculates hash for the argument.
override
newHashSink() → HashSink
Constructs a sink for hashing chunks.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override
toSync() → DartHashAlgorithm
For synchronous computations, returns a pure Dart implementation of the hash algorithm.

Operators

operator ==(Object other) → bool
The equality operator.
override