如何解决SQLite 加密扩展 - “PRAGMA key = 'secretkey'” 未加密数据库 - 仍可在 SQLite 浏览器中浏览
我正在尝试通过点击此链接来使用 SEE https://sqlite.org/android/doc/trunk/www/see.wiki 问题是,即使在使用 [db.execSQL("PRAGMA key = 'secretkey'");] 之后,我的 db/schema/tables/data 仍然可以在 SQLite 浏览器中浏览。这是简单/小代码。 那么如何保护我的数据库?
package com.example.sqliteencryptionextension;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import org.sqlite.database.sqlite.SQLiteDatabase;
import org.sqlite.database.sqlite.SQLiteStatement;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try{
String dbName = getDatabasePath("see.db").toString();
System.loadLibrary("sqliteX");
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbName,null);
db.execSQL("PRAGMA key = 'secretkey'");
db.execSQL("create table if not exists Test(data text)");
db.execSQL("insert into Test values('row1')");
db.execSQL("insert into Test values('row2')");
db.execSQL("insert into Test values('row3')");
SQLiteStatement statement = db.compileStatement("select count(*) from Test");
String count = statement.simpleQueryForString();
Log.d(null,count);
db.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。