


(32 bytes) Transform Seed : The key used as seed for AES to generate the transformed master key from the user master key.(32 bytes) Contents Hash : a SHA-256 hash of the database, used for integrity checking,.(4 bytes) Number of Entries : contains the total number of entries in the database,.(4 bytes) Number of Groups : contains the total number of groups in the database,.(16 bytes) Encryption IV : the IV used for content encryption,.(16 bytes) Master Seed : Seed that get concatenated then hashed with the transformed master key (see later how to) to form the final master key,.(4 bytes) KeePass Version : it looks like each version of KeePass save the database with a different value for this field, but I don’t really understand their weird shenanigans about it.KeePass also declares a define of 1 for SHA2 that would be put in this field, but it doesn’t seem to be used , (4 bytes) KeePass Flags : contains the flag indicating the cipher used for the database (2 is for AES, 4 is for ARC4, 8 is for Twofish, but only AES and Twofish seems to be used by KeePass).Here’s the ordered list of the different fields of the header of a. kdbx has a TLV list of fields in its header.kdb header’s fields

kdb has fixed number of fields taking a fixed number of bytes in its header, while.

kdbx file formats’ header first have 2 fields of 4 bytes each that are the file signatures (cf KdbxFile.cs of Keepass2 source code).įile Signature 1 (the first field) will always have a value of 0x9AA2D903. File Signature 1 (4 bytes) & File Signature 2 (4 bytes) The header start for both file formats by two 4 bytes fields : the file signatures. the database, in XML and encrypted (normally).a header (not encrypted) containing various informations on how to decrypt the database, and informations on the database.This article will explained the different fields and headers of kdb and kdbx file formats.Ī. So I wrote this article that explains how Keepass file format are structured, maybe it will help someone. I you want to know how these file formats are structured, you must read Keepass’s source code. kdbx format, but I didn’t find anything, even in the Keepass official website. I tried to find some documentation about. I’m currently working (I’m just at the beginning, and I’m quite slow) on a personal project that will use Keepass files (kdb and kdbx).
