作为Cordova的新手,我想知道如何修改SQLite插件(https://github.com/brodysoft/Cordova-SQLitePlugin/)并在我的应用程序中使用修改后的版本。
我需要在将敏感数据实际保存到数据库之前对其进行加密,我相信一个黑客知道如何通过使用本机代码进行此类加密来了解数据实际上是如何加密的(这可能会扩展到几个类/文件)而不是在javascript中。
我想另一种选择是使用未经修改的SQLite插件,并在将数据处理到DB插件之前使用一些本机类进行加密。我只针对iOS,但我仍然不清楚如何正确混合本机代码与javascript代码。我应该创建一个插件吗?如果我用javacript包装器创建一个本机类就足够了吗?如何从javascript代码创建这样的类的实例?我很困惑......
答案 0 :(得分:1)
隐藏“如何”加密数据,即方法,加密类型,密钥大小或iv,无法获得任何好处。一个人不会通过隐藏它的完成方式来改进加密。
安全性是一个很好的加密密钥,可以保护密钥并以安全的方式使用加密原语。对于初学者来说,选择具有良好静脉注射功能的CBC模式的AES。不要使用密码作为密钥,要么使用随机位串,要么通过PBKDF2运行密码来生成密钥。
javascript加密的一个挑战是保护密钥,在本机应用程序中,它可以保存在Keychain中。
如果您对安全性非常认真,请让加密域专家创建代码的安全部分,或者至少查看方法和代码。