【问题标题】:Laravel password encryption/decryption mechanism for ios/android appsios/android 应用的 Laravel 密码加密/解密机制
【发布时间】:2014-09-24 10:40:31
【问题描述】:

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

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

【问题讨论】:

  • 考虑使用 PBKDF2,大多数系统都支持它,目前 NIST 推荐使用它。 Common Crypto 还有一个校准功能,可以帮助选择轮数。

标签: android ios encryption laravel cryptography


【解决方案1】:

Laravel 使用了一个BCrypt hashing package from Antony Ferrara,所以 Illuminate\Hashing\BcryptHasher,Hash 的实现,调用它:

$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/,但我不确定它是否适合您的开发需求。

【讨论】:

  • 感谢您的快速回复 Antoni....有人知道 android 应用程序中的相同机制吗?
  • 编辑为 Android 提供一个选项。
猜你喜欢
  • 1970-01-01
  • 2014-04-20
  • 2023-04-05
  • 2014-10-17
  • 2020-11-10
  • 2021-12-09
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
相关资源
最近更新 更多