如何在 Craft CMS 中以加密形式存储密码?

问题描述 投票:0回答:2

我对 Craft 很陌生,而 Craft 对这个世界来说也相当陌生。我想知道是否有人知道如何加密数据库中存储的密码,或者可以为我指出正确的方向,其中有一些关于如何执行此操作的说明?

我已经进行了很好的搜索,但没有得到任何结果。我已阅读文档,它的“安全服务”中确实有一个加密方法,但我不明白如何实现它。我还遇到了一个可能有帮助的插件; https://github.com/t3kila/SecureField-Craft但我更喜欢本机解决方案,以便存储不依赖于任何第三方插件。

我已经尝试过了;

$password = craft()->securityService->encrypt($password)

但无济于事……我确信对于知道如何操作的人来说,这将是一个相当简单的练习,但它太新了,所以没有太多信息。

encryption yii
2个回答
2
投票

这应该是相当简单的。您可以使用 Craft 的 SecurityService,但在存储到数据库之前,您还应该

base64_encode
加密密码。

$encryptedPassword = base64_encode(craft()->security->encrypt($password));

$decryptedPassword = craft()->security->decrypt(base64_decode($encryptedPassword));

0
投票

对于 Craft CMS 版本 3+ :

$encrypted = base64_encode(Craft::$app->security->encryptByKey($password));
$decrypted = Craft::$app->security->decryptByKey(base64_decode($encrypted));
© www.soinside.com 2019 - 2024. All rights reserved.