草庐IT

php - Golang 和 Phpass (Php) 怎么办?

我在一家公司工作,我必须将他们的API从Php重新制作到Golang。以前的开发人员在Php中使用Phpass,但是,我需要在Golang中使用它。我搜索了如何在go中实现phpass,但它似乎不如在php中有效。我看到了这些github实现:gopass—在go中实现phpass算法phpass—PHPass密码的go实现...也许这很奇怪,但是它在Php中的工作原理是一样的吗?对我来说,每次我使用相同的密码/使用得到一个新的散列密码。我也从来没有用过php,所以我真的不知道如何测试这个类/库(phpass)感谢帮助! 最佳答案

php - "random"盐比 "unique"盐有什么好处?

我目前正在编写一个程序,其中一部分涉及安全地创建密码哈希以存储在数据库中,我遇到了phpass框架,这似乎是强烈推荐的。在phpass中,他们似乎竭尽全力生成一种尽可能真正随机的盐,用于哈希(例如,从/dev/urandom读取)。我的问题是,与简单地使用uniqid()相比,这样做有什么好处?重点不就是确保用于散列的盐彼此不同而不是随机的吗?使用真正随机的盐实际上不会比使用独特的盐更糟糕,因为它可能会产生碰撞而uniqid()不会?编辑:我的问题不是关于计算机环境中是否存在“真正的”随机性,所以也许我措辞有误,但我的问题更多的是“更多”的随机盐是否有任何好处比盐更独特。

php - 如何使用 codeigniter 正确实现 PHPass 密码哈希?

我正在努力使用phpass在codeigniter中正确执行密码哈希。我已经将phpass密码哈希文件添加到codeigniter的库文件夹中,现在我不知道如何正确编写语句$t_hasher=newPasswordHash(8,FALSE);?你们能帮助正确的语法吗?这是我到目前为止所拥有的:functionpasswordTry(){$this->load->library('PasswordHash','null','passHash');$hasher=new$this->passHash->PasswordHash(8,FALSE);$hash=$hasher->HashPas

php - PHPass的正确实现

我使用PHPass在我的应用程序中存储用户密码,因为它比md5或sha1更安全。我有一个关于如何使用密码盐的问题。根据我收集到的信息,当您插入用户时,我会这样使用它:$pwdHasher=newPasswordHash(8,false);$hash=$pwdHasher->HashPassword($input_password);然后当您在登录时检查用户详细信息时,您会:$pwdHasher=newPasswordHash(8,FALSE);if($pwdHasher->CheckPassword($input_password,$hash_from_db)){echo'passwo

php - wordpress 密码哈希如何工作?

我需要将Django系统与Wordpress站点集成,因为在wordpress中用户应该能够登录DJnago部分,反之亦然,为此,我需要了解密码散列在Wordpress中的工作原理。我可以看到存储用户名和密码哈希值的wp_users表。查看wordpress代码,我可以看到密码是通过wp_set_password设置的,它正在使用hash_password对密码进行哈希处理。现在我对PHP的了解还不够多,无法理解它是如何工作的。我需要在python中复制相同的内容,以便我可以从Django部分验证密码。 最佳答案 执行中有一条评论说

php - 在多个服务器之间使用 phpass 有多安全?

打开“portable_hashes”。我注意到,无论出于何种原因,它生成的哈希值并不总是相同的——但在通过“CheckPassword”传递时始终返回有效值。我还注意到在生成哈希时使用了“PHP_VERSION”——这两件事结合在一起让我很担心……便携性如何?我可以在服务器、Linux、Windows、64位、32位等之间移动哈希值(保存在用户数据库中)并且仍然让它们验证吗?我需要做什么才能使密码不再有效?我问的原因是因为我在我的框架中使用phpass作为密码,这将为我的几个网站提供支持,其中许多网站目前有数千名用户-在某些情况下我不得不移动它们到不同的服务器上,当然还要升级php。

phpass 的自定义 base 64 编码器 : does it have a name/advantage over Base64?

phpass在encode64()中使用了一个奇怪的(对我来说)算法以base64编码。Base64和Uuencode线性分块6位以在映射到可打印字符之前生成每个八位位组。encode64随机排列位:inputbitlocation:abcdefghijklmnopqrstuvwxbase64bitlocation:..abcdef..ghijkl..mnopqr..stuvwxencode64bitlocation:..cdefgh..mnopab..wxijkl..qrstuv这个算法是众所周知的吗?除了向后兼容,为什么选择它而不是Base64?下面我重写了它以阐明算法:funct

php - Ubuntu 14.04 上的 Codeigniter : Unable to load the requested file: helpers/phpass_helper. php

我正在尝试在我的基本Controller中加载Phpass助手以散列我的密码。但是,它似乎无法在Ubuntu14.04上加载。我尝试搜索,有人说可能是因为Linux区分大小写,所以我将文件从phpass_helper.php更改为Phpass_helper.php。并使用以下代码加载它:$this->load->helper('Phpass_helper');但它仍然给我错误提示:无法加载请求的文件:helpers/phpass_helper.php。有谁知道为什么它不起作用?任何帮助将不胜感激。谢谢。classPasswordHash{var$itoa64;var$iteration

php - 检查open_basedir限制是否生效

我在使用PHPass(http://www.openwall.com/phpass/)时收到以下警告:open_basedirrestrictionineffect.File(/dev/urandom)isnotwithintheallowedpath(s)虽然这不是什么大问题(它会求助于其他东西),但我不希望有这个警告。PHP应用程序应该在不同的服务器上运行,一些用户将能够将该路径添加到他们允许的open_basedir路径,但其他人将无法访问该配置。我的第一个猜测是使用is_readable()检查可读性,但是,我仍然收到警告。问题:如何检查某个路径或文件是否已添加到open_ba

php - 盐是包含在 phpass 哈希中还是您需要对其输入加盐?

phpass是一种广泛使用的散列“框架”。在将普通密码提供给PasswordHash(v0.2)之前,像这样对普通密码加盐是一种好习惯吗?:$dynamicSalt=$record['salt'];$staticSalt='i5ininsfj5lt4hbfduk54fjbhoxc80sdf';$plainPassword=$_POST['password'];$password=$plainPassword.$dynamicSalt.$staticSalt;$passwordHash=newPasswordHash(8,false);$storedPassword=$passwordH