1File::KDBX::IO::HashBloUcske(r3)Contributed Perl DocumenFtialtei:o:nKDBX::IO::HashBlock(3)
2
3
4
6 File::KDBX::IO::HashBlock - Hash block stream IO handle
7
9 version 0.906
10
12 Writing to a hash-block handle will transform the data into a series of
13 blocks. Each block is hashed, and the hash is included with the block
14 in the stream.
15
16 Reading from a handle, each hash block will be verified as the blocks
17 are disassembled back into a data stream.
18
19 This format helps ensure data integrity of KDBX3 files.
20
21 Each block is encoded thusly:
22
23 • Block index - Little-endian unsigned 32-bit integer, increments
24 starting with 0
25
26 • Hash - 32 bytes
27
28 • Block size - Little-endian unsigned 32-bit (counting only the data)
29
30 • Data - String of bytes
31
32 The terminating block is an empty block where hash is 32 null bytes,
33 block size is 0 and there is no data.
34
36 algorithm
37 Digest algorithm in hash-blocking the stream (default: "SHA-256")
38
39 block_size
40 Desired block size when writing (default:
41 $File::KDBX::IO::HashBlock::BLOCK_SIZE or 1,048,576 bytes)
42
44 new
45 $fh = File::KDBX::IO::HashBlock->new(%attributes);
46 $fh = File::KDBX::IO::HashBlock->new($fh, %attributes);
47
48 Construct a new hash-block stream IO handle.
49
51 Please report any bugs or feature requests on the bugtracker website
52 <https://github.com/chazmcgarvey/File-KDBX/issues>
53
54 When submitting a bug or request, please include a test-file or a patch
55 to an existing test-file that illustrates the bug or desired feature.
56
58 Charles McGarvey <ccm@cpan.org>
59
61 This software is copyright (c) 2022 by Charles McGarvey.
62
63 This is free software; you can redistribute it and/or modify it under
64 the same terms as the Perl 5 programming language system itself.
65
66
67
68perl v5.36.1 2023-09-27 File::KDBX::IO::HashBlock(3)