我对 Craft 很陌生,而 Craft 对这个世界来说也相当陌生。我想知道是否有人知道如何加密数据库中存储的密码,或者可以为我指出正确的方向,其中有一些关于如何执行此操作的说明?
我已经进行了很好的搜索,但没有得到任何结果。我已阅读文档,它的“安全服务”中确实有一个加密方法,但我不明白如何实现它。我还遇到了一个可能有帮助的插件; https://github.com/t3kila/SecureField-Craft但我更喜欢本机解决方案,以便存储不依赖于任何第三方插件。
我已经尝试过了;
$password = craft()->securityService->encrypt($password)
但无济于事……我确信对于知道如何操作的人来说,这将是一个相当简单的练习,但它太新了,所以没有太多信息。
这应该是相当简单的。您可以使用 Craft 的 SecurityService,但在存储到数据库之前,您还应该
base64_encode
加密密码。
$encryptedPassword = base64_encode(craft()->security->encrypt($password));
$decryptedPassword = craft()->security->decrypt(base64_decode($encryptedPassword));
对于 Craft CMS 版本 3+ :
$encrypted = base64_encode(Craft::$app->security->encryptByKey($password));
$decrypted = Craft::$app->security->decryptByKey(base64_decode($encrypted));