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