MazePHP 是新奇且积极的 PHP & Framework 开发者工作型框架, 更多介绍 见这里, 源代码 在此.
这是一个文章
栏目 发布人 • 于 2天前 • 35 阅读 精华 置顶

我想把默认的bcrypt(password)替换成md5(password+salt),在不更改vendor文件的情况下,只能自己添加一个ServiceProvider替换原来的,于是我自己写了一个AddSaltHasher,但是却发现在make方法中无法获取$salt,有什么办法可以获取这个值吗?


					
namespace App\Services;

use RuntimeException;
use Illuminate\Contracts\Hashing\Hasher as HasherContract;

class AddSaltHasher implements HasherContract
{

	public function make($value, array $options = [])
	{

		$hash = md5($value.$salt);//<-无法获取数据库中存放的salt

		if ($hash === false) {
			throw new RuntimeException('addsalt hashing not supported.');
		}

		return $hash;
	}

	public function check($value, $hashedValue, array $options = [])
	{
		if (strlen($hashedValue) === 0) {
			return false;
		}
		$value = self::make($value);
		if($value!=$hashedValue){
			return false;
		}
		return true;
	}

	public function needsRehash($hashedValue, array $options = [])
	{
		return false;
	}
}
				

评论回复:38

  • xxxx 7天前

    MAC本地搭建MAMP环境: 在利用composer require illuminate/html安装html模块时可能会出现- danielstjules/stringy 1.10.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.说mbstring模块(或者其他模块)没有,应该是因为用了系统自带的php中没有mbstring模块,用php -m查看,而本想用MAMP的php5.5.10.解决办法:/Applications/MAMP/bin/php/php5.5.10/bin/php /Applications/MAMP/composer.phar require illuminate/html。。php和composer.phar全局路径指定出来就行。。

  • xxxx 7天前

    MAC本地搭建MAMP环境: 在利用composer require illuminate/html安装html模块时可能会出现- danielstjules/stringy 1.10.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.说mbstring模块(或者其他模块)没有,应该是因为用了系统自带的php中没有mbstring模块,用php -m查看,而本想用MAMP的php5.5.10.解决办法:/Applications/MAMP/bin/php/php5.5.10/bin/php /Applications/MAMP/composer.phar require illuminate/html。。php和composer.phar全局路径指定出来就行。。

Ctrl+Enter

test

快捷操作

小贴士

使用 CoffeeScript 和 Sass 来写 JavaScript 和 CSS 提高开发效率

统计信息

  • 社区会员:1000
  • 主题数:100

友情链接