草庐IT

make_password

全部标签

php - 使用 password_hash 时生成的哈希的最大长度?

我在用password_hash($password,PASSWORD_BCRYPT);加密密码以存储在数据库中。正如我所读,生成的哈希值没有长度限制,但我需要知道最大长度,以便我可以使用它来定义我的数据库中可以适合所有密码哈希值的字段(在最坏的情况下)。如果我将明文密码的长度限制为20个字符,password_hash()结果会是多长时间? 最佳答案 来自password_hashdocumentation:Thefollowingalgorithmsarecurrentlysupported:PASSWORD_DEFAULT-U

php - 将 password_hash 与 unicode 字符一起使用是否安全?

将password_hash与以下unicode字符一起使用是否安全,或者存在不兼容问题? 最佳答案 正如Mark评论的那样,哈希算法本身对字节起作用,因此它们是unicode安全的。唯一的问题可能是PHP对unicode字符串的处理,即密码散列函数binary-safe?让我们测试一下并找出答案:结果:Pass:100Fail:0你的问题的答案是是的,它是安全的。 关于php-将password_hash与unicode字符一起使用是否安全?,我们在StackOverflow上找到一个

php - 如何使用 Laravel Passport Scopes + Password Grant Type 限制用户操作

我已经按照官方文档(https://laravel.com/docs/5.3/passport#introduction)中的描述为Laravel5.3设置了LaravelPassport包。我希望移动应用程序使用该API,因此我尝试实现密码授予token。我已经创建了一个密码授予客户端,并且token请求过程...$response=$http->post('http://my-app.com/oauth/token',['form_params'=>['grant_type'=>'password','client_id'=>'client-id','client_secret'=

php - 将 md5 密码哈希值转换为 PHP 5.5 password_hash()

PHP5.5中新的password_hashAPI非常好,我想开始在任何地方使用它。给定一个包含旧数据库的旧项目,其中密码存储在md5哈希中,将旧用户密码迁移到新的、更安全的API的最佳方法是什么?除了简单地提示用户在下次登录时重设密码(这对用户来说是不切实际且烦人的)之外,我还考虑过使用当前md5哈希作为我所有现有用户的password_hash()输入的可能性。为了验证这些用户的密码(在登录期间),我会将他们的输入转换为md5散列,然后将其用于password_verify()。新用户可以省去这个额外的步骤。这样做值得吗?有没有更好的透明迁移方法,用户不会因为密码重置而烦恼,但我可

php - 如果他们更改了 PHP 密码库中的 PASSWORD_DEFAULT 会怎样?

使用PHP考虑这行代码:$password=password_hash($password,PASSWORD_DEFAULT);如果他们更改默认的密码哈希算法会怎样?我的意思是我将在数据库中使用散列密码。然后,根据我自己的理解,将无法检查密码,因为哈希算法将完全改变。 最佳答案 很明显,新散列的密码将使用新算法。但是,您不应该担心这一点,因为整个事情的设计都考虑了向前兼容性-只要您使用password_*()函数,默认算法更改时您的代码就不会被破坏正确。正确地说,我的意思是使用password_verify()。password_v

php - Laravel Auth - 使用 md5 而不是集成的 Hash::make()

所以,我正在为我的网站切换到laravel。我的旧网站目前拥有大约500名用户。每个用户都有一个md5散列附加到他们身上,作为密码(duh^^)。当我切换到laravel时,我希望使用Auth::attempt不幸的是,它使用自己的方法来散列密码字符串。我不希望我所有的用户更改他们的密码,因为我正在切换到laravel,是否可以让Auth类改为使用md5,这样我的用户就不必切换密码?:)如果是,有人可以告诉我怎么做吗? 最佳答案 MD5已经过时了。我建议你不要试图保留它。相反,当用户首次登录并且Auth::attempt失败时,您应

php - make 尝试在 Centos 6 上安装 mongo php 驱动程序失败

我尝试了两种不同的方法来安装mongodbphp驱动程序。根据来自的指示进行编译http://andres.jaimes.net/876/setup-mongo-php-module-centos-6/发布(作为root)peclinstallmongo服务器是Centos6.6(32位),它最初是一个6.5virtualbox镜像(更新后)现在称自己为6.6错误似乎从这里开始:Infileincludedfrom/var/tmp/mongo/io_stream.c:34:/var/tmp/mongo/contrib/php-ssl.h:33:25:error:openssl/evp.

php - password_hash 等同于 php 5.4?

这个问题在这里已经有了答案:Calltoundefinedfunctionpassword_hash()inPHP5.4(1个回答)关闭8年前。我使用安装了php5.5的XAMPP开发我的网站。我刚刚意识到我的主机只有php5.4(还不能更新到5.5)。我的问题是我无法使用新的php5.5password_hash()功能。是否有用于php5.4的盐散列的等效方法?有没有办法让这个等效代码(下面)在php5.4中工作?$options=['salt'=>uniqid(mt_rand(),true),'cost'=>12];$hash=password_hash($mypassword,

PHP : Make other functions access the $conn variable inside my database connection function

让其他函数访问我的数据库连接函数中的$conn变量所以在这里,我绝对不顾一切地想做点什么。我知道我想做的不是OOP,也不是100%的最佳实践。它不适用于实时网站,我只是在XAMPP上学习一些基本的PHP概念。我正在尝试做的是使我的数据库连接函数中的$conn变量可供需要它的所有其他函数访问。我正在考虑将其作为参数传递,但如何实现?我不喜欢使用PHP的“全局”或$GLOBALS。我现在的工作方法是使用过程方法使用mysqli。例如我有这样的东西:functiondb(){$conn=mysqli_connect("localhost","root","","database");}fun

php - Laravel Faker - create 和 make 有什么区别

我有以下代码:$this->actingAs(factory('App\User')->create());$thread=factory('App\Thread')->make();create()和make()之间有什么区别,为什么它没有列在Laravel文档的辅助函数页面中?谢谢!:) 最佳答案 create保存到数据库,而make只是创建模型的一个新实例。themakemethodtocreatemodelswithoutpersistingthemtothedatabaseThecreatemethodinstantiat