File::KDBX::IO::HashBlock3pm
Hash block stream io handle
Version
version 0.906
Overview
Writing to a hash-block handle will transform the data into a series of blocks. Each block is hashed, and the hash is included with the block in the stream.
Reading from a handle, each hash block will be verified as the blocks are disassembled back into a data stream.
This format helps ensure data integrity of KDBX3 files.
Each block is encoded thusly:
•
|
Block index - Little-endian unsigned 32-bit integer, increments starting with 0 |
|---|---|
•
|
Hash - 32 bytes |
•
|
Block size - Little-endian unsigned 32-bit (counting only the data) |
•
|
Data - String of bytes |
The terminating block is an empty block where hash is 32 null bytes, block size is 0 and there is no data.
Attributes
algorithm
Digest algorithm in hash-blocking the stream (default: "SHA-256")
block_size
Desired block size when writing (default: $File::KDBX::IO::HashBlock::BLOCK_SIZE or 1,048,576 bytes)
Methods
new
$fh = File::KDBX::IO::HashBlock->new(%attributes);$fh = File::KDBX::IO::HashBlock->new($fh, %attributes);
Construct a new hash-block stream IO handle.
Copyright and license
This software is copyright (c) 2022 by Charles McGarvey.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Releases
2 releases since Debian 12 (Bookworm); the text changed 1 time.