C# から keepass データベース内に機密情報を保存する 質問する

C# から keepass データベース内に機密情報を保存する 質問する

機密データを扱わなければならないプロジェクトがあります。

keepassC# からデータベースを開いてデータを使用するにはどうすればよいですか?

ソースをダウンロードしました。必要なものを取得するためにそれを調べます。他に何かアイデアはありますか?

ベストアンサー1

KeyPass 2 データベースを読み取ろうと思ったので、Linqpad で KeyPass.exe への参照を追加して実験を始めました。驚いたことに、外部からの支援なしで (優れた API の証)、わずか数分でデータベースを読み取れました。やり方は次のとおりです。

var dbpath = @"C:\path\to\passwords.kdbx";
var masterpw = "Your$uper$tr0ngMst3rP@ssw0rd";

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);

var kpdata = from entry in db.RootGroup.GetEntries(true)
                select new
                {
                    Group = entry.ParentGroup.Name,
                    Title = entry.Strings.ReadSafe("Title"),
                    Username = entry.Strings.ReadSafe("UserName"),
                    Password = entry.Strings.ReadSafe("Password"),
                    URL = entry.Strings.ReadSafe("URL"),
                    Notes = entry.Strings.ReadSafe("Notes")

                };                                                                                  

kpdata.Dump(); // this is how Linqpad outputs stuff
db.Close();

おすすめ記事