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).
I tried to find some documentation about .kdb and .kdbx format, but I didn’t find anything, even in the Keepass official website. I you want to know how these file formats are structured, you must read Keepass’s source code. So I wrote this article that explains how Keepass file format are structured, maybe it will help someone.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// use regular Java imports: Kotlin is 100% compatible to Java | |
import org.jgrapht.DirectedGraph | |
import org.jgrapht.Graph | |
import org.jgrapht.graph.SimpleDirectedGraph | |
/** | |
* A class defining an Edge in the Graph. The `val`s are automatically accessible via getters. | |
* Additionally, the annotation `data`automatically generates equals(), hashcode() and more. | |
*/ | |
data class Edge(val source: String, val target: String, val duration: Int) |