我四处寻找,但我还没有真正找到我要找的东西。我正在为移动设备开发一个灵活的应用程序。此应用程序会将客户数据从 api 同步到移动设备。但是一旦在设备上,我计划将它保存在 sqlLite DB 中。我怎样才能保护这些数据?我知道我可以散列它,但我猜有人能够反编译应用程序并获得散列键。我是弹性和移动开发的新手,所以我可能错过了一个非常明显的答案。
提前致谢
无
我四处寻找,但我还没有真正找到我要找的东西。我正在为移动设备开发一个灵活的应用程序。此应用程序会将客户数据从 api 同步到移动设备。但是一旦在设备上,我计划将它保存在 sqlLite DB 中。我怎样才能保护这些数据?我知道我可以散列它,但我猜有人能够反编译应用程序并获得散列键。我是弹性和移动开发的新手,所以我可能错过了一个非常明显的答案。
提前致谢
无
我不建议使用基于 AS3 的加密技术来加密数据库上的数据,因为除非您解密所有内容并在查询之间重新加密,否则使用数据会很慢且不可能(当然,除非您必须像说散列用户密码或其他东西,以便您可以进行单向比较)。加密数据库本身是最好的方法。
这是一个关于如何做到这一点的教程。
如果您只需要保护几条/几条数据(例如信用卡数据、电话号码,而不是他们的订单历史或其他内容);我会使用 EncryptedLocalStore。这是一个简单易用的解决方案,并且已经在框架中,因此它已经过 Adobe 测试,您不会不必要地增加应用程序的大小。
据我记得,as3lib 有实际的加密工具。但它不适用于移动设备。
旁注:
从技术上讲,散列并不是加密。根据定义,加密意味着一个秘密密钥,如果知道,可以用来轻松(无论如何形式上很容易)恢复原始信息。散列“有点”类似于加密,但会立即删除密钥,因此,除非您知道原始信息是什么,否则您不知道原始输入需要做什么才能获得输出/散列。或者...向其中添加数据,然后将其全部加扰。