1File::KDBX::IO::HmacBloUcske(r3)Contributed Perl DocumenFtialtei:o:nKDBX::IO::HmacBlock(3)
2
3
4

NAME

6       File::KDBX::IO::HmacBlock - HMAC block stream IO handle
7

VERSION

9       version 0.906
10

DESCRIPTION

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

ATTRIBUTES

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

METHODS

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

BUGS

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

AUTHOR

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)
Impressum