File::KDBX::Constants - All the KDBX-related constants you could
ever want
use File::KDBX::Constants qw(:all);
say KDBX_VERSION_4_1;
This module provides importable constants related to KDBX.
Constants can be imported individually or in groups (by tag). The available
tags are:
- ":magic"
- ":version"
- ":header"
- ":compression"
- ":cipher"
- ":random_stream"
- ":kdf"
- ":variant_map"
- ":inner_header"
- ":key_file"
- ":history"
- ":icon"
- ":bool"
- ":time"
- ":yubikey"
- ":all" - All of the above
View the source of this module to see the constant values (but
really you shouldn't care).
$constant = to_header_constant($number);
$constant = to_header_constant($string);
Get a header constant from an integer or string value.
$constant = to_compression_constant($number);
$constant = to_compression_constant($string);
Get a compression constant from an integer or string value.
$constant = to_inner_header_constant($number);
$constant = to_inner_header_constant($string);
Get an inner header constant from an integer or string value.
$constant = to_icon_constant($number);
$constant = to_icon_constant($string);
Get an icon constant from an integer or string value.
Constants related to identifying the file types:
- "KDBX_SIG1"
- "KDBX_SIG1_FIRST_BYTE"
- "KDBX_SIG2_1"
- "KDBX_SIG2_2"
Constants related to identifying the format version of a file:
- "KDBX_VERSION_2_0"
- "KDBX_VERSION_3_0"
- "KDBX_VERSION_3_1"
- "KDBX_VERSION_4_0"
- "KDBX_VERSION_4_1"
- "KDBX_VERSION_OLDEST"
- "KDBX_VERSION_LATEST"
- "KDBX_VERSION_MAJOR_MASK"
- "KDBX_VERSION_MINOR_MASK"
Constants related to parsing and generating KDBX file headers:
- "HEADER_END"
- "HEADER_COMMENT"
- "HEADER_CIPHER_ID"
- "HEADER_COMPRESSION_FLAGS"
- "HEADER_MASTER_SEED"
- "HEADER_TRANSFORM_SEED"
- "HEADER_TRANSFORM_ROUNDS"
- "HEADER_ENCRYPTION_IV"
- "HEADER_INNER_RANDOM_STREAM_KEY"
- "HEADER_STREAM_START_BYTES"
- "HEADER_INNER_RANDOM_STREAM_ID"
- "HEADER_KDF_PARAMETERS"
- "HEADER_PUBLIC_CUSTOM_DATA"
Constants related to identifying the compression state of a
file:
- "COMPRESSION_NONE"
- "COMPRESSION_GZIP"
Constants related to ciphers:
- "CIPHER_UUID_AES128"
- "CIPHER_UUID_AES256"
- "CIPHER_UUID_CHACHA20"
- "CIPHER_UUID_SALSA20"
- "CIPHER_UUID_SERPENT"
- "CIPHER_UUID_TWOFISH"
Constants related to memory protection stream ciphers:
- "STREAM_ID_RC4_VARIANT"
- This is insecure and not implemented.
- "STREAM_ID_SALSA20"
- "STREAM_ID_CHACHA20"
- "STREAM_SALSA20_IV"
Constants related to key derivation functions and
configuration:
- "KDF_UUID_AES"
- "KDF_UUID_AES_CHALLENGE_RESPONSE"
- This is what KeePassXC calls
"KDF_AES_KDBX4".
- "KDF_UUID_ARGON2D"
- "KDF_UUID_ARGON2ID"
- "KDF_PARAM_UUID"
- "KDF_PARAM_AES_ROUNDS"
- "KDF_PARAM_AES_SEED"
- "KDF_PARAM_ARGON2_SALT"
- "KDF_PARAM_ARGON2_PARALLELISM"
- "KDF_PARAM_ARGON2_MEMORY"
- "KDF_PARAM_ARGON2_ITERATIONS"
- "KDF_PARAM_ARGON2_VERSION"
- "KDF_PARAM_ARGON2_SECRET"
- "KDF_PARAM_ARGON2_ASSOCDATA"
- "KDF_DEFAULT_AES_ROUNDS"
- "KDF_DEFAULT_ARGON2_ITERATIONS"
- "KDF_DEFAULT_ARGON2_MEMORY"
- "KDF_DEFAULT_ARGON2_PARALLELISM"
- "KDF_DEFAULT_ARGON2_VERSION"
Constants related to parsing and generating KDBX4 variant
maps:
- "VMAP_VERSION"
- "VMAP_VERSION_MAJOR_MASK"
- "VMAP_TYPE_END"
- "VMAP_TYPE_UINT32"
- "VMAP_TYPE_UINT64"
- "VMAP_TYPE_BOOL"
- "VMAP_TYPE_INT32"
- "VMAP_TYPE_INT64"
- "VMAP_TYPE_STRING"
- "VMAP_TYPE_BYTEARRAY"
Constants related to parsing and generating KDBX4 inner
headers:
- "INNER_HEADER_END"
- "INNER_HEADER_INNER_RANDOM_STREAM_ID"
- "INNER_HEADER_INNER_RANDOM_STREAM_KEY"
- "INNER_HEADER_BINARY"
- "INNER_HEADER_BINARY_FLAG_PROTECT"
Constants related to identifying key file types:
- "KEY_FILE_TYPE_BINARY"
- "KEY_FILE_TYPE_HASHED"
- "KEY_FILE_TYPE_HEX"
- "KEY_FILE_TYPE_XML"
Constants for history-related default values:
- "HISTORY_DEFAULT_MAX_AGE"
- "HISTORY_DEFAULT_MAX_ITEMS"
- "HISTORY_DEFAULT_MAX_SIZE"
Constants for searching algorithms.
- "ITERATION_IDS" - Iterative deepening search
- "ITERATION_BFS" - Breadth-first search
- "ITERATION_DFS" - Depth-first search
Constants for default icons used by KeePass password safe
implementations:
- "ICON_PASSWORD"
- "ICON_PACKAGE_NETWORK"
- "ICON_MESSAGEBOX_WARNING"
- "ICON_SERVER"
- "ICON_KLIPPER"
- "ICON_EDU_LANGUAGES"
- "ICON_KCMDF"
- "ICON_KATE"
- "ICON_SOCKET"
- "ICON_IDENTITY"
- "ICON_KONTACT"
- "ICON_CAMERA"
- "ICON_IRKICKFLASH"
- "ICON_KGPG_KEY3"
- "ICON_LAPTOP_POWER"
- "ICON_SCANNER"
- "ICON_MOZILLA_FIREBIRD"
- "ICON_CDROM_UNMOUNT"
- "ICON_DISPLAY"
- "ICON_MAIL_GENERIC"
- "ICON_MISC"
- "ICON_KORGANIZER"
- "ICON_ASCII"
- "ICON_ICONS"
- "ICON_CONNECT_ESTABLISHED"
- "ICON_FOLDER_MAIL"
- "ICON_FILESAVE"
- "ICON_NFS_UNMOUNT"
- "ICON_MESSAGE"
- "ICON_KGPG_TERM"
- "ICON_KONSOLE"
- "ICON_FILEPRINT"
- "ICON_FSVIEW"
- "ICON_RUN"
- "ICON_CONFIGURE"
- "ICON_KRFB"
- "ICON_ARK"
- "ICON_KPERCENTAGE"
- "ICON_SAMBA_UNMOUNT"
- "ICON_HISTORY"
- "ICON_MAIL_FIND"
- "ICON_VECTORGFX"
- "ICON_KCMMEMORY"
- "ICON_TRASHCAN_FULL"
- "ICON_KNOTES"
- "ICON_CANCEL"
- "ICON_HELP"
- "ICON_KPACKAGE"
- "ICON_FOLDER"
- "ICON_FOLDER_BLUE_OPEN"
- "ICON_FOLDER_TAR"
- "ICON_DECRYPTED"
- "ICON_ENCRYPTED"
- "ICON_APPLY"
- "ICON_SIGNATURE"
- "ICON_THUMBNAIL"
- "ICON_KADDRESSBOOK"
- "ICON_VIEW_TEXT"
- "ICON_KGPG"
- "ICON_PACKAGE_DEVELOPMENT"
- "ICON_KFM_HOME"
- "ICON_SERVICES"
- "ICON_TUX"
- "ICON_FEATHER"
- "ICON_APPLE"
- "ICON_W"
- "ICON_MONEY"
- "ICON_CERTIFICATE"
- "ICON_SMARTPHONE"
Boolean values:
- "FALSE"
- "TRUE"
Constants related to time:
- "TIME_SECONDS_AD1_TO_UNIX_EPOCH"
Constants related to working with YubiKeys:
- "YUBICO_VID"
- "YUBIKEY_PID"
- "NEO_OTP_PID"
- "NEO_OTP_CCID_PID"
- "NEO_CCID_PID"
- "NEO_U2F_PID"
- "NEO_OTP_U2F_PID"
- "NEO_U2F_CCID_PID"
- "NEO_OTP_U2F_CCID_PID"
- "YK4_OTP_PID"
- "YK4_U2F_PID"
- "YK4_OTP_U2F_PID"
- "YK4_CCID_PID"
- "YK4_OTP_CCID_PID"
- "YK4_U2F_CCID_PID"
- "YK4_OTP_U2F_CCID_PID"
- "PLUS_U2F_OTP_PID"
- "ONLYKEY_VID"
- "ONLYKEY_PID"
- "YK_EUSBERR"
- "YK_EWRONGSIZ"
- "YK_EWRITEERR"
- "YK_ETIMEOUT"
- "YK_ENOKEY"
- "YK_EFIRMWARE"
- "YK_ENOMEM"
- "YK_ENOSTATUS"
- "YK_ENOTYETIMPL"
- "YK_ECHECKSUM"
- "YK_EWOULDBLOCK"
- "YK_EINVALIDCMD"
- "YK_EMORETHANONE"
- "YK_ENODATA"
- "CONFIG1_VALID"
- "CONFIG2_VALID"
- "CONFIG1_TOUCH"
- "CONFIG2_TOUCH"
- "CONFIG_LED_INV"
- "CONFIG_STATUS_MASK"
Please report any bugs or feature requests on the bugtracker
website <https://github.com/chazmcgarvey/File-KDBX/issues>
When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired
feature.
Charles McGarvey <ccm@cpan.org>
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.