| Title: | Read KeePass Database Files |
|---|---|
| Description: | Read entries from KeePass '.kdbx' database files (versions 3.x and 4.x) using the 'keepass-rs' Rust library. Supports password and keyfile authentication. |
| Authors: | David Schoch [aut, cre] (ORCID: <https://orcid.org/0000-0003-2952-4812>) |
| Maintainer: | David Schoch <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.0 |
| Built: | 2026-09-23 12:13:47 UTC |
| Source: | https://github.com/schochastics/rkeepass |
Reads entries from a KeePass .kdbx database file (versions 3.x and 4.x).
kdbx_read(path, password = NULL, keyfile = NULL)kdbx_read(path, password = NULL, keyfile = NULL)
path |
Character scalar. Path to the |
password |
Character scalar or |
keyfile |
Character scalar or |
At least one of password or keyfile must be provided.
The function auto-detects the KDBX version (3.x or 4.x).
Protected fields (like passwords) are automatically decrypted.
Fields that are empty or not set in the database are returned as NA.
A data.frame of class kdbx_entries with one row per entry and
columns:
Character. The unique identifier of the entry.
Character. The slash-separated path of the group
containing this entry (e.g., "Root/Internet"). The first component
is the name of the database's root group, which is "Root" by
default but can be renamed in KeePass.
Character. The entry title.
Character. The username field.
Character. The password field (decrypted).
Character. The URL field.
Character. The notes field.
Passwords are masked when the result is printed (see
print.kdbx_entries()) but are stored in plain text in the password
column.
path <- system.file("extdata", "example.kdbx", package = "rkeepass") db <- kdbx_read(path, password = "test123") db[db$group_path == "Root/Internet", ]path <- system.file("extdata", "example.kdbx", package = "rkeepass") db <- kdbx_read(path, password = "test123") db[db$group_path == "Root/Internet", ]
Prints the entries returned by kdbx_read() with the password column
masked, so that passwords do not end up in the console or in logs.
## S3 method for class 'kdbx_entries' print(x, ..., reveal = FALSE)## S3 method for class 'kdbx_entries' print(x, ..., reveal = FALSE)
x |
A |
... |
Passed on to |
reveal |
Logical. If |
x, invisibly.
path <- system.file("extdata", "example.kdbx", package = "rkeepass") db <- kdbx_read(path, password = "test123") db print(db, reveal = TRUE)path <- system.file("extdata", "example.kdbx", package = "rkeepass") db <- kdbx_read(path, password = "test123") db print(db, reveal = TRUE)