草庐IT

hash_digest

全部标签

php - Zend Digest/Basic 身份验证不断失败

我正在尝试在我的域(实际上,它是一个子域)的/admin下设置非常基本的摘要身份验证。我在我的bootstrap.php中注册了身份验证程序:protectedfunction_initAdminArea(){//setupprotectedarea$config=array('accept_schemes'=>'digest','realm'=>'administration','digest_domains'=>'/admin','nonce_timeout'=>3600);$authAdapter=newZend_Auth_Adapter_Http($config);$diges

php - password_hash 输出的格式是什么?

我知道PHP函数,password_hash在一个字符串中输出算法、成本、salt和哈希,因此password_verify可以检查密码。来自PHPpage的示例输出:$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a所以$2y$代表算法,10代表成本。但是password_verify如何将盐与散列分开呢?之后我没有看到任何标识符将两者分开。 最佳答案 用于密码哈希的bCrypt版本。Bcrypt有一个固定长度的盐值。当您使用带有默认算法的password_ha

PHP password_hash() 与 Postgres crypt()

我正在使用Postgres9.3数据库作为Web应用程序的后端。我使用PHP5.5.7连接到数据库并为前端AJAX调用返回JSON。我正在尝试决定将用户身份验证逻辑放在哪里。我不是安全专家;但是,我熟悉PHP的新password_*()函数,并且非常了解幕后发生的事情。我也熟悉Postgres扩展pgcrypto和相关的crypt()函数。我的问题是,使用PHP或Postgres来散列密码是否有意义?我很好奇这些函数有何不同,所以我用PHP做了一个密码散列,然后将它交给Postgres,看看Postgres是否使用相同的算法。在给定相同参数的情况下,与PHP相比,Postgres返回了

php - CakePHP 2.0 中是否可以按请求进行无状态 HTTP Basic/Digest 身份验证?

手册不清楚如何实现它(它假设你已经知道你到底在做什么,在某些情况下感觉像是事后才想到的),我一直在挠头试图弄清楚出来。问题:通过所有API请求的HTTP身份验证header进行身份验证就我能够测试的而言,我可以在CakePHP中使用基本身份验证和基于普通表单的登录,但是只能首先点击login我在Auth组件中定义的操作。当我直接访问网站时这很好,并且按预期工作(除了Digest,它似乎完全错误)。但是,通过cURL,除非我已经登录,否则我运气不好。显然,对于API来说,这远非理想。我不想在执行我想做的事情之前向/login发送请求,而且我不能指望用户手动登录,所以Cake有一个cook

php - PHP 中的 password_hash() 怎么样

我一直在阅读有关此password_hash()的各种论坛和教程,这似乎对密码保护很有用。但现在我想知道为像这样的函数制作自己的盐和散列是否更好$options=['cost'=>11,'salt'=>mcrypt_create_iv(22,MCRYPT_DEV_URANDOM),];password_hash($password,PASSWORD_BCRYPT,$options);或者让函数来做:password_hash($password,PASSWORD_DEFAULT);似乎有很多关于使用自己的盐是好是坏的讨论。有人可以解释为什么使用自己的盐不好(或不好)吗?

php - 将 PHP 代码(以编码 WebServices API HASH)转换为 COLDFUSION

我正在开发一个ColdFusion站点,该站点需要通过Web服务与另一个系统对话。对于另一个系统,我在PHP中有一个关于如何生成基于SHA512的哈希的示例,我试图在ColdFusion中复制相同的函数,但它就是不起作用。示例包括一个字符串和key,以及预期的编码结果。但是我没有得到与ColdFusion相同的编码字符串。也许我在某处缺少ToBase64或其他转换函数,但我没有想法,真的需要帮助才能让它正常工作。如有任何帮助,我们将不胜感激。这是PHP示例代码//signaturetoacquireasession$apiId='1lie8ficql9h5';$apiSecret='j

php - 为什么 codeigniter2 不以更安全的方式(例如 session )存储 csrf_hash?

为什么生成的CSRF保护token没有像建议的那样通过SESSION保存和使用here?目前在CI2中,CSRF保护机制(Security类)是这样的:1.在_csrf_set_hash()函数中为CSRFtoken生成一个唯一值:$this->csrf_hash=md5(uniqid(rand(),TRUE));2.将该标记插入表单隐藏字段(使用form_open帮助器)3.用户提交表单,服务器通过POST获取token。CI在Input类的“_sanitize_globals()”函数中进行token校验:$this->security->csrf_verify();4.Secur

php - PHP MD5 和 Solaris Digest MD5 的输出不匹配

当我在PHP中运行下面的代码时$saltedPW="Test12309566173258152148992";$hashedPW=md5($saltedPW);echo$hashedPW;我得到的输出是fc8f7b8737b9d4754ff1156a3ad88b03当我在solaris机器上的bashshell中运行上面的代码时echoTest12309566173258152148992|digest-amd5我得到的输出是04df7b4ce498b87d696b32140ca63f6a我做错了什么吗?我已经在shell中尝试了双引号,但我仍然得到相同的结果。

php - password_hash() PASSWORD_DEFAULT PHP 5.5

来自password_hash()函数:PASSWORD_DEFAULT-Usethebcryptalgorithm(defaultasofPHP5.5.0).NotethatthisconstantisdesignedtochangeovertimeasnewandstrongeralgorithmsareaddedtoPHP.Forthatreason,thelengthoftheresultfromusingthisidentifiercanchangeovertime.Therefore,itisrecommendedtostoretheresultinadatabasecol

php - 在 password_hash 值上使用准备好的语句有什么意义吗?

当使用password_hash()函数生成散列密码时,为什么我想在将它插入数据库时​​使用准备好的语句?我的假设是我不需要为密码使用准备好的语句,但为了保持一致性,使用一个也没有坏处。附加问题:如果我使用password_hash函数的PASSWORD_DEFAULT参数,它目前将使用bcrypt算法,但将来可以替换为不同的算法。如果我不使用准备好的语句,future的算法是否会使用单引号或其他可能破坏SQL语句的符号? 最佳答案 isthereanyreasonwhyIwouldwanttouseapreparedstateme