草庐IT

PHP - MD5、SHA、散列安全

我是一个用PHP构建的新网站的开发人员,我想知道什么是最好的用于散列的东西。我查看了md5和sha1,但还有什么更安全的吗?很抱歉,如果这是一个笨拙的问题,但我是PHP安全的新手,我正在努力让我的网站尽可能安全。还有什么是盐?谢谢,瓦西姆 最佳答案 首先,md5和sha1已被证明可以抵抗碰撞攻击并且可以是彩虹很容易列出(当他们看到你的哈希值在他们的常用密码数据库中是否相同时)。目前有两种足够安全的密码可供您使用。第一个是sha512。sha512是SHA2的子版本。SHA2尚未被证明是vunrable碰撞攻击和sha512将生成一个

php - str_replace : Match whole word only

由于str_replace()在“:Name:Name_en”中两次匹配“:Name”,我只想匹配整个单词的结果。由于thisanswer,我想切换到preg_replace().$str=":Name:Name_en";echo$str.chr(10);$str=preg_replace('/\b'.':Name'.'\b/i','"Test"',$str);echo$str;但是由于冒号的缘故,这不起作用。没有更换发生。RegExp会是什么样子?\b是单词边界。但是我认为冒号不属于这样的词界。 最佳答案 您不需要在字符串的开头使

php - 您可以将 php crypt() 的输出转换为有效的 MD5 吗?

我有一些使用PHPfunctioncrypt()加密的字符串.输出看起来像这样:$1$Vf/.4.1.$CgCo33ebiHVuFhpwS.kMI0$1$84..vD4.$Ps1PdaLWRoaiWDKCfjLyV1$1$or1.RY4.$v3xo04v1yfB7JxDj1sC/J/虽然我相信crypt()使用的是MD5算法,但输出不是有效的MD5哈希值。有没有办法将生成的哈希值转换为有效的MD5哈希值(16字节十六进制值)?更新:感谢您到目前为止的答复。我很确定所使用的crypt函数正在使用某种MD5算法。我要做的是将我拥有的输出转换为类似于以下内容的MD5哈希:9e107d9d37

php str_getcsv 数组问题

我正在上传一个csv文件,然后使用str_getcsv解析它。一切都很好,除了我需要一种循环遍历它们的方法。理想情况下,让数组返回并看起来像这样会很棒:Array([1]=>Array([0]=>1//firstidincsv[1]=>name[2]=>address[3]=>town[4]=>state[5]=>zip[6]=>phone[7]=>website[8]=>other[9]=>other)[22]=>Array([10]=>name[11]=>address[12]=>town[13]=>state[14]=>zip[15]=>phone[16]=>website[17

php - Laravel str_slug 不适用于 unicode bangla

我在一个laravel项目中工作。我有sluggedurl。它适用于英语。但是当我使用Bangla时它返回空。请帮助我解决问题。echostr_slug("hithere");//Result:hi-thereechostr_slug("বাংলাদেশব্যাংকেররিজার্ভেরঅর্থচুরিরঘটনায়ফিলিপাইনের");//Result:''(Empty) 最佳答案 str_slug或外观版本Str::slug不适用于非ascii字符串。您可以改用这种方法functionmake_slug($string){re

php - 使用 md5 安全更难

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:SecurehashandsaltforPHPpasswords我看到有人像这样编写密码哈希,md5(uniqid(mt_rand('password',15),true));这是执行此操作的安全方法吗?这甚至解决了吗?

php - 在旧用户的 symfony2 security.yml 中使用 MD5

我有一个遗留系统,其中包含md5散列密码。我已经测试过它们是正确的,并且它们不使用盐。安全.ymlsecurity:encoders:Namespace\MyBundle\Entity\User:algorithm:md5providers:entityUsers:entity:{class:NamespaceBundle:User,property:username}在我的用户实体中,我实现了UserInterface并确保salt设置为空字符串。但我在尝试进行身份验证时遇到了错误凭证错误。我尝试将security.yml切换为纯文本并输入哈希值,系统运行正常。md5应该可以正常工作

php如何制作一个if str_replace?

$str是foreach中的某个值。$str=str_replace('_name_','_title_',$str);如何制作ifstr_replace?我想做的事情ifhaveastr_replacethenecho$str,elsenot,jumpthecurrentforeachthentonext.谢谢。 最佳答案 str_replace()还有第四个参数设置为执行的替换次数。如果没有被替换,它被设置为0。在那里放置一个引用变量,然后在你的if语句中检查它:foreach($str_arrayas$str){$str=st

php - 在 nl2br 的对面?是 str_replace 吗?

所以函数nl2br很方便。除了在我的网络应用程序中,我想做相反的事情,将换行符解释为新行,因为它们将被回显到预先填写的表单中。str_replace可以取并用我想要的任何东西替换它,但是如果我输入\n,它实际上会回显一个反斜杠和一个n。仅当我在脚本中间放置文字换行符并打破缩进(因此没有尾随空格)时,它才有效。参见:','',$foo)?>我是否缺少转义字符?我想我尝试了所有组合... 最佳答案 可能会有一些情况你的代码不够用;那么,像这样的东西如何做你的替换:$html='thisissometext!';$nl=preg_repl

php - PHP 中的 $str == '' 和 strlen($str) == 0 有区别吗?

正如标题所说:PHP中$str==''和strlen($str)==0有区别吗?是否存在任何真正的速度差异,一个比另一个更好用? 最佳答案 我发现直接做更清楚“if(!$str)”..不确定'=='但'!'应该能够产生更好的优化技术,因为从未进行过类型转换,并且对字符串、数组、bool值、数字......是安全的...... 关于php-PHP中的$str==''和strlen($str)==0有区别吗?,我们在StackOverflow上找到一个类似的问题: