Skip to content

crypto.blake2s #

Copyright (c) 2023 Kim Shrier. All rights reserved. Use of this source code is governed by an MIT license that can be found in the LICENSE file. Package blake2s implements the Blake2s 256, 224, 160, and 128 bit hash algorithms as defined in IETF RFC 7693. Based off: https://datatracker.ietf.org/doc/html/rfc7693 Last updated: November 2015

Constants #

const size128 = 16

size128 is the size, in bytes, of a Blake2s 128 checksum.

const size160 = 20

size160 is the size, in bytes, of a Blake2s 160 checksum.

const size224 = 28

size224 is the size, in bytes, of a Blake2s 224 checksum.

const size256 = 32

size256 is the size, in bytes, of a Blake2s 256 checksum.

const block_size = 64

block_size is the block size, in bytes, of the Blake2s hash functions.

fn new128 #

fn new128() !&Digest

new126 initializes the digest structure for a Blake2s 128 bit hash

fn new160 #

fn new160() !&Digest

new160 initializes the digest structure for a Blake2s 160 bit hash

fn new224 #

fn new224() !&Digest

new224 initializes the digest structure for a Blake2s 224 bit hash

fn new256 #

fn new256() !&Digest

new256 initializes the digest structure for a Blake2s 256 bit hash

fn new_digest #

fn new_digest(hash_size u8, key []u8) !&Digest

new_digest creates an initialized digest structure based on the hash size and whether or not you specify a MAC key.

hash_size - the number of bytes in the generated hash. Legal values are between 1 and 32.

key - key used for generating a prefix MAC. A zero length key is used for just generating a hash. A key of 1 to 32 bytes can be used for generating a prefix MAC.

fn new_pmac128 #

fn new_pmac128(key []u8) !&Digest

new_pmac128 initializes the digest structure for a Blake2s 128 bit prefix MAC

fn new_pmac160 #

fn new_pmac160(key []u8) !&Digest

new_pmac160 initializes the digest structure for a Blake2s 160 bit prefix MAC

fn new_pmac224 #

fn new_pmac224(key []u8) !&Digest

new_pmac224 initializes the digest structure for a Blake2s 224 bit prefix MAC

fn new_pmac256 #

fn new_pmac256(key []u8) !&Digest

new_pmac256 initializes the digest structure for a Blake2s 256 bit prefix MAC

fn pmac128 #

fn pmac128(data []u8, key []u8) []u8

pmac128 returns the Blake2s 128 bit prefix MAC of the data.

fn pmac160 #

fn pmac160(data []u8, key []u8) []u8

pmac160 returns the Blake2s 160 bit prefix MAC of the data.

fn pmac224 #

fn pmac224(data []u8, key []u8) []u8

pmac224 returns the Blake2s 224 bit prefix MAC of the data.

fn pmac256 #

fn pmac256(data []u8, key []u8) []u8

pmac256 returns the Blake2s 256 bit prefix MAC of the data.

fn sum128 #

fn sum128(data []u8) []u8

sum128 returns the Blake2s 128 bit checksum of the data.

fn sum160 #

fn sum160(data []u8) []u8

sum160 returns the Blake2s 160 bit checksum of the data.

fn sum224 #

fn sum224(data []u8) []u8

sum224 returns the Blake2s 224 bit checksum of the data.

fn sum256 #

fn sum256(data []u8) []u8

sum256 returns the Blake2s 256 bit checksum of the data.

fn (Digest) str #

fn (d Digest) str() string

string makes a formatted string representation of a Digest structure

fn (Digest) write #

fn (mut d Digest) write(data []u8) !

write adds bytes to the hash

fn (Digest) checksum #

fn (mut d Digest) checksum() []u8

checksum finalizes the hash and returns the generated bytes.