当我在使用 Laravel - PHP 框架的 Web 应用程序中工作时。它也有android和ios应用程序。在网络应用程序中,我使用 Hash::make() 进行密码管理和登录尝试的身份验证机制。我们还有用于在 Web 和移动应用程序之间交换数据的 API。我们如何在 android 和 ios 平台上使用相同的 Laravel 机制加密或解密密码凭证。
据我所知,Laravel 中的密码管理是基于 laravel 中提供的加密 key 完成的。那么我们如何使用相同的加密 key 加密/解密相同的内容。请在这个问题上帮助我。
Best Answer-推荐答案 strong>
Laravel 使用 BCrypt hashing package from Antony Ferrara ,所以 Hash 的实现 Illuminate\Hashing\BcryptHasher 调用它:
$hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost));
而且由于 Antony Ferrara 遵循 RFC,它应该很容易在其他平台上重现。有一个可能兼容的 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 库:http://www.mindrot.org/projects/jBCrypt/ ,但我不确定这是否适合您的开发需求。
关于android - ios/android 应用的 Laravel 密码加密/解密机制,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26014835/
|