携帯型データベースに格納秘密
-
23-08-2019 - |
質問
の開発をしているアプリのニーズを格納秘密の改善に取り組んでいます。●
いが必要な携帯型データベースのようなコード体系(unicode、Sqliteなど)のデータが格納され暗号化またはパスワードで保護された。
みましょう 例として ておきたいパスワードを作成します。 ずっと作りたいと思っていただける店舗のパスワードの改善に取り組んでいます。●私は慣れな利用の組み込みFirebirdのものではないが、秘密のデータです。
少し値段が高くなりますが、利用データベースの自然に、暗号化データベースのファイル感が接続されていないファイルがなんなのかのセキュリティや性能に影響を与えるおそれの
何が最善の方法をお勧めになりますか。
解決
のsqlite-cryptののと呼ばれるプロジェクトがあります。これはあなたの最善の策である必要があります。ディスク上のすべてのデータをsqliteのDBが暗号化されます。
他のヒント
このまま見てSQL Server Compact editionみのDLLはそのデータを蓄積するとともに、データを単一のファイルのように、SQLiteはアクセス、Firebird、など。
でもって暗号化機能を内蔵しています。
一部の参考文献:
パスワードの暗号化
自分の答え その他の質問osで.
正直なところ? のTrueCrypt に使用するか、<のhref = "http://keepass.info/" のrel = "nofollowをnoreferrer" > KeePassのはします。
私はCJMに同意していますが、デッドセットあなた自身を書くことにしている場合は、書き込み時にストリームを暗号化し、読み取り時に、それを復号化する必要があります。やや強いですどれ公表アルゴリズムは、安全なものを維持する必要があります。
暗号化されたSQLiteデータベースを操作するためのREALbasicのビルトインサポートは、プロジェクトのカップルに私のためによく働いています。
私は非常にあなたがチェックアウトをお勧めします SQLCipherする(フル開示、私はの一つです開発者!)これは、SQLiteのための透明、ページ・レベルの暗号化の自由とオープンソース実装です。実装は、それが活発に開発中だし、それは(相対的に言って)使用することは非常に簡単です、かなり堅牢です。
私は2番目の提案。これは、機密データのための偉大な店だとかなり良いAPIを公開しています。ここでは、標準のキーパス2データベースの読み方の例です。
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")
};
db.Close();