This is to re-invent the wheel of KeePassLib in MiniKeePass, https://github.com/MiniKeePass/MiniKeePass/tree/master/KeePassLib, in Ruby for my learning the langauge