3

私は自分のdbファイルを暗号化して、パスワードがないと誰もアクセスできないようにしようとしているので、最初に頭に浮かんだのは、組み込みのSQLite暗号化を使用することです。これが、データベースのパスワードを作成するために使用するコードです。

public void SetPassword(byte[] password)
{
    _dbConnection.SetPassword(password);
}

しかし、私が本当に驚いたのは、誰でも簡単にパスワードを削除して、次のような非常に単純なコードを使用してデータベースの内容を確認できることです。

public void RemovePassword(SQLiteConnection conn)
{
    conn.ChangePassword(null);
}

だから私は、そのビルドイン暗号化を簡単に削除できるのであれば、それをどのように使用するのか疑問に思いました。または私が言及したことについて私は間違っていますか?

4

1 に答える 1

4

解決策は単純です:

を使用してデータベースにパスワードが設定されている場合

.SetPassword(password);

古いパスワードを使用してデータベースに合法的に接続していない限り、パスワード変更機能を使用して単純に削除または変更することはできません{または、何らかの方法でデータベースをクラックしました:D}

.ChangePassword(password);
于 2013-03-01T00:36:36.023 に答える