mirror of
https://github.com/BLAKE3-team/BLAKE3
synced 2024-05-27 00:16:03 +02:00
28 lines
661 B
C
28 lines
661 B
C
#include "blake3.h"
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
int main() {
|
|
// Initialize the hasher.
|
|
blake3_hasher hasher;
|
|
blake3_hasher_init(&hasher);
|
|
|
|
// Read input bytes from stdin.
|
|
unsigned char buf[65536];
|
|
ssize_t n;
|
|
while ((n = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
|
|
blake3_hasher_update(&hasher, buf, n);
|
|
}
|
|
|
|
// Finalize the hash. BLAKE3_OUT_LEN is the default output length, 32 bytes.
|
|
uint8_t output[BLAKE3_OUT_LEN];
|
|
blake3_hasher_finalize(&hasher, output, BLAKE3_OUT_LEN);
|
|
|
|
// Print the hash as hexadecimal.
|
|
for (size_t i = 0; i < BLAKE3_OUT_LEN; i++) {
|
|
printf("%02x", output[i]);
|
|
}
|
|
printf("\n");
|
|
return 0;
|
|
}
|