1

我四处寻找,但我还没有真正找到我要找的东西。我正在为移动设备开发一个灵活的应用程序。此应用程序会将客户数据从 api 同步到移动设备。但是一旦在设备上,我计划将它保存在 sqlLite DB 中。我怎样才能保护这些数据?我知道我可以散列它,但我猜有人能够反编译应用程序并获得散列键。我是弹性和移动开发的新手,所以我可能错过了一个非常明显的答案。

提前致谢

4

3 回答 3

2

我不建议使用基于 AS3 的加密技术来加密数据库上的数据,因为除非您解密所有内容并在查询之间重新加密,否则使用数据会很慢且不可能(当然,除非您必须像说散列用户密码或其他东西,以便您可以进行单向比较)。加密数据库本身是最好的方法。

这是一个关于如何做到这一点的教程

于 2011-07-20T17:54:29.543 回答
0

关于您的问题,没有什么是移动设备真正独有的。

我相信您要么必须加密本地 SQLLite 数据库,要么加密存储在其中的数据。

这是一些关于处理加密SQLLite数据库文档

还有一些用于加密数据的库。 ASCrypt3AS3Crypto如果你想加密数据而不是数据库。

您提到了哈希,通常当人们谈论哈希时,他们谈论的是单向加密,所以我不确定在需要读取数据的数据存储中会有什么好处。

于 2011-07-20T14:36:53.117 回答
0

如果您只需要保护几条/几条数据(例如信用卡数据、电话号码,而不是他们的订单历史或其他内容);我会使用 EncryptedLocalStore。这是一个简单易用的解决方案,并且已经在框架中,因此它已经过 Adob​​e 测试,您不会不必要地增加应用程序的大小。

据我记得,as3lib 有实际的加密工具。但它不适用于移动设备。

旁注:
从技术上讲,散列并不是加密。根据定义,加密意味着一个秘密密钥,如果知道,可以用来轻松(无论如何形式上很容易)恢复原始信息。散列“有点”类似于加密,但会立即删除密钥,因此,除非您知道原始信息是什么,否则您不知道原始输入需要做什么才能获得输出/散列。或者...向其中添加数据,然后将其全部加扰。

于 2012-05-06T08:42:16.460 回答