我正在做一个项目,我们需要加密一些用户凭据(用户名、密码、用户 ID 等)以传递给我们的服务器。我们决定使用AES256
以实现这一目标。在对这个主题进行一些研究时,很难避免注意到一个项目,RNCryptor
该项目声称是解决这个问题的一个易于使用的解决方案。
所以我将这个框架包含在我的项目中,并很快意识到它并不像我想象的那么简单。我希望有一个解决方案,我可以通过简单地加密我的凭据字符串 - ( 1 ) 派生一个我想用来加密我的字符串凭据的密钥,( 2 ) 将密钥和我的字符串传递到适当RNCryptor
的方法中, ( 3 ) 从所述方法中取回我的加密字符串。
然而,这太好了,令人难以置信。
的现实RNCryptor
是它有这样的方法:
[RNEncryptor encryptData:someData
withSettings:kRNCryptorAES256Settings
password:someString
error:&someError];
由于术语,这令人困惑。
什么是密码?
这从来没有解释过。什么密码?这是我要加密的用户密码、我要加密的密码密钥还是登录我的计算机的密码(讽刺)。
加密数据?
这是我要加密的用户凭据的 UTF8 编码字符串吗?这是我最好的猜测,但在RNCryptor
Github“文档”中没有解释。