2014-09-24 80 views
2

因为我在使用Laravel-PHP框架的Web应用程序中工作。它也有android和ios应用程序。在Web应用程序中,我使用Hash :: make()进行密码管理,并使用Auth机制进行登录尝试。我们还有用于在网络和移动应用程序之间交换数据的API。我们如何在android和ios平台中使用相同的Laravel机制来加密或解密密码凭证。Laravel用于ios/android应用程序的密码加密/解密机制

据我所知在Laravel密码管理做基于laravel提供的加密密钥。那么我们如何使用相同的加密密钥来加密/解密。请在这个问题上帮助我。

+0

考虑使用PBKDF2,它受到大多数系统的支持,目前由NIST推荐。 Common Crypto还具有校准功能,可帮助选择轮次数。 – zaph 2014-09-25 07:19:12

回答

1

Laravel使用BCrypt hashing package from Antony Ferrara,所以照亮\散列\ BcryptHasher,哈希的实施,将其称为:

$hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost)); 

而且,由于安东尼费拉拉如下的RFC,它应该是在其他平台轻松reproductible。有一个iOS的库,可能是兼容的:JFCommon,你应该能够做到这样说:

NSString *salt = [JFBCrypt generateSaltWithNumberOfRounds: 10]; 
NSString *hashedPassword = [JFBCrypt hashPassword: password withSalt: salt]; 

此外,检查这篇文章:http://www.jayfuerstenberg.com/blog/bcrypt-in-objective-c

在Android上,在使用这个Java的lib人在他们的应用程序中:http://www.mindrot.org/projects/jBCrypt/,但我不确定这是否适合您的开发需求。

+0

感谢您的快速回复安东尼....任何人都有关于Android应用程序中的相同机制的想法? – 2014-09-25 05:25:27

+0

编辑为Android提供选项。 – 2014-09-25 14:18:39