Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中保护SQLITE数据库?_Android_Sqlite_Android Studio_Android Sqlite_Sqlcipher - Fatal编程技术网

如何在android中保护SQLITE数据库?

如何在android中保护SQLITE数据库?,android,sqlite,android-studio,android-sqlite,sqlcipher,Android,Sqlite,Android Studio,Android Sqlite,Sqlcipher,目前,我正在开发一个android应用程序,它存储用户的重要数据,如密码、卡号、网站用户名和密码等。我决定使用SQLITE DB,以便用户的数据可以驻留在他们自己的手机中。我还计划实现AES-256算法SQLCiper,以便使用密钥对数据进行加密。但我关心的是,如果有人做逆向工程或生根,它能起到多大的作用,会发生什么 请帮我弄清楚这件事 提前谢谢。根本不行。当然,您可以加密数据库。但加密密钥在哪里?它在你的应用程序中。次要的逆向工程将得到关键 因此,您决定将密钥设置为随机字符串,并将其存储在安全

目前,我正在开发一个android应用程序,它存储用户的重要数据,如密码、卡号、网站用户名和密码等。我决定使用SQLITE DB,以便用户的数据可以驻留在他们自己的手机中。我还计划实现AES-256算法SQLCiper,以便使用密钥对数据进行加密。但我关心的是,如果有人做逆向工程或生根,它能起到多大的作用,会发生什么

请帮我弄清楚这件事


提前谢谢。

根本不行。当然,您可以加密数据库。但加密密钥在哪里?它在你的应用程序中。次要的逆向工程将得到关键

因此,您决定将密钥设置为随机字符串,并将其存储在安全存储器中。那更强大。。。但随后,我使用AOSP编译了一个自定义操作系统,并覆盖了安全存储函数,以将存储的数据记录到磁盘上。你设置了一个路障,仅此而已

因此,您决定将密钥保留在服务器上,并将其作为https请求的一部分发送下来,只保留在内存中。现在我需要做一些严肃的逆向工程。您将阻止脚本小子,但不会阻止反向工程师

您如何确保数据的安全?不要把它放在客户身上。那就完全安全了。当然,您现在必须保护客户端和服务器之间的协议。不要给客户端任何他不应该使用的数据-如果你有关于你所有用户的信息,只把这个用户的信息放在客户端数据库中


基本上,您不会对授权用户保密数据。你最多可以设置几个减速带。确定数据的实际机密程度,作为一名高中生,你认为会是谁?有经验的逆向工程师?民族国家?然后用它来计算投入多少精力,以及数据应该存储在哪里。

+1用于快速响应。作为一个初学者,我没有完全理解。如果你不介意的话,你能用最终裁决详细解释一下吗?在安全方面,谁是你的攻击者很重要。这不是一个“这是安全的”标志,安全是关于分层保护和不同级别的威胁。你担心一次偶然的黑客攻击吗?有几件事可以让普通用户慢下来。你担心有经验的逆向工程师吗?更多的努力,更多的时间,更多的金钱。你担心极端的NSA吗,MI-6,摩萨德?更重要的是。这是一个权衡,你想花多少钱来担心更复杂的攻击。什么是真正的秘密,你的数据,以及你需要多少来保护它?对我来说,我需要考虑所有级别的攻击者,以确保我的用户数据安全。因此,根据你的经验,你能告诉我如何才能做到这一点。然后你需要聘请一位专家。这一级别的安全性他不在我回答的范围之内