我是一个初学者,但我一直在尝试学习使用 Zend Framework 2。我正在使用从公共存储库克隆的模块来验证用户。它使用 MD5,如下所示:
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$dbAuthAdapter = new DbAuthAdapter($dbAdapter, 'user','username','password', 'MD5(?)');
但是,首先我想使用 MD5 以外的东西(比如 SHA-2?),因为我多次读到 MD5 不再安全,而且我还想使用盐值. 我想为每个用户生成一个随机盐值并将其存储在他们的表行中的单独列中,并将他们的密码存储为哈希盐 + 密码。那部分应该没有问题。
我遇到的问题是如何使用我在模块中设置的适配器来验证它。我想从数据库中获取盐值,将其添加到用户通过登录表单提供的密码中,对其进行加密,并将其与存储的密码进行比较。如何从数据库中获取用户的盐值?如何使用不同的加密而不是 MD5?