我只是通过将 .exe 文件添加到我的项目中来使用 keepass 的香草库。从我的代码中,我正在访问 PwDatabase,如下所示:
var dbpath = @"\\MyPath\To\PersonalVault\PersonalVault.kdbx";
var masterpw = "myPassword";
var ioConnInfo = new IOConnectionInfo { Path = dbpath };
var compKey = new CompositeKey();
compKey.AddUserKey(new KcpPassword(masterpw));
var db = new KeePassLib.PwDatabase();
db.Open(ioConnInfo, compKey, null);
从那里我想访问和读取我之前从 UI 上的“高级”选项卡手动添加的自定义字符串字段:
var entry = db.RootGroup.FindEntry(new KeePassLib.PwUuid(KeePassLib.Utility.MemUtil.HexStringToByteArray("97A51FE92F700D4FB665DC6AA7C9D67D")), true);
var customString = entry.Strings.Where(lookingFor => lookingFor.Key.Equals("customString")).FirstOrDefault().Value;
但是我最终在这里得到了一个空值。
关于我如何阅读这篇文章的任何建议,或者它只是没有通过香草 KeePass.exe 暴露出来吗?