b2sum - Linux


Overview

b2sum is a cryptographic utility that generates and verifies checksums for files using the BLAKE2b hashing algorithm. BLAKE2b is a secure and efficient hashing function designed to be fast and resistant to collision attacks.

Syntax

b2sum [options] [file1] [file2] ...

Options/Flags

-a, –algorithm algorithm
Specify the BLAKE2b variant to use. Valid values are: b2b, b2b-128, b2b-160, b2b-184, b2b-208, b2b-224, b2b-240, b2b-256, b2b-384, b2b-512.
Default: b2b-512

-b, –bytes num
Generate checksums for the first num bytes of the file(s).

-c, –check file
Verify checksums for the file(s), using the provided checksum file.

-d, –dir
Generate checksums recursively for all files in the specified directory(ies) and their subdirectories.

-f, –file file
Read checksums from the specified file and verify them against the file(s).

-h, –help
Display help and exit.

-s, –size
Display the file size and modification time along with the checksum.

-v, –version
Display version information and exit.

-w, –wide
Display checksums in hexadecimal format instead of the default base64.

Examples

Generate a checksum for a file:

b2sum myfile.txt

Generate checksums for all files in a directory:

b2sum -d my_directory

Verify checksums using a checksum file:

b2sum -c checksums.txt myfile.txt

Generate checksums using a specific BLAKE2b variant:

b2sum -a b2b-256 myfile.txt

Display checksums in hexadecimal format:

b2sum -w myfile.txt

Common Issues

Error: Cannot find file:
Ensure that the specified file exists and is accessible.

Error: Checksum verification failed:
The file has been modified since the checksum was generated.

Integration

b2sum can be integrated with scripts, cron jobs, or other tools for automated checksum verification and file integrity checks. For example:

#!/bin/bash

# Generate checksums for all files in a directory
b2sum -d /my_directory > checksums.txt

# Check checksums once a week
crontab -l | { cat; echo "0 0 * * 0 b2sum -c checksums.txt -d /my_directory >> verification.log"; } | crontab -

# Verify checksums and send email if any failures occur
b2sum -c checksums.txt -d /my_directory | awk '{print $2}' | grep -v OK | mail -s 'Checksum Verification Failure' admin@example.com

Related Commands

  • md5sum
  • sha1sum
  • sha256sum
  • sha512sum