Sha256 class abstract

SHA-256 (SHA2-256) HashAlgorithm.

import 'package:better_cryptography/better_cryptography.dart';

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

If you need synchronous computations, use DartSha256.

Streaming usage

This enables you to handle very large inputs without keeping everything in memory:

import 'package:better_cryptography/better_cryptography.dart';

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

  // Add any number of chunks
  sink.add(<int>[1,2,3]);
  sink.add(<int>[4,5]);

  // Calculate the hash
  sink.close();
  final hash = await sink.hash();
  print('Hash: ${hash.bytes}');
}

In need of synchronous APIs?

If you need to perform operations synchronously, use DartSha256 in package:better_cryptography/dart.dart.

Inheritance
Implementers

Constructors

Sha256.new()
factory
Sha256.constructor()
Constructor for classes that extend this class.
const

Properties

blockLengthInBytes int
The internal block size in bytes. This information is required by some algorithms such as Hmac.
no setteroverride
hashCode int
The hash code for this object.
no setteroverride
hashLengthInBytes int
Digest size in bytes.
no setteroverride
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.
inherited
newHashSink() HashSink
Constructs a sink for hashing chunks.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override

Operators

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