为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 不与 arraypart 进行比较

PHP 不与 arraypart 进行比较

PHP
POPMUISE 2022-12-11 10:41:13
我正在创建一个简单的脚本,它在文本文件中搜索正确的组合,但它不起作用。我对所有问题都进行了故障排除,但所有部分都可以正常工作,但整个脚本仍然无法正常工作,我不知道如何修复它。代码:<html><form><input type="text" name="input" placeholder="hash"><button type="submit">Crack!</button></form><?php$input = $_GET["input"]; // pulling input from url$hashes = file_get_contents("hashes.txt"); // loading hashes$hasharray = explode(";", $hashes); // separating hashcombos$arraynum = count($hasharray); // counting number of hashcombos// defining loop$loopnum = 0;while($loopnum < $arraynum) {    $combo = $hasharray[$loopnum]; // selecting hashcombo    $comboarray = explode("|", $combo); // separating hashcombo    $text = $comboarray[0];    $hash = $comboarray[1];    // cecking if hash matches    if($hash === $input) {        echo("Hash: $hash");        echo("<br>");        echo("Text: $text");    }    $loopnum = $loopnum + 1; // updating loop}?></html>示例 hashes.txt:test|example;example|test;
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

您的文件包含换行符,它们也是不可见的字符。例如:

test|example;(newline here)
example|test;

您使用 拆分文件中的行;,但这不会删除换行符。考虑到您问题中的评论,您的结果中有换行符导致比较失败。也就是说,我建议在加载哈希以删除换行符后立即使用以下解决方案:

$hashes = preg_replace("/[\r\n]/", "", $hashes);

这将产生如下字符串:

test|example;example|test;

您的其余代码将按预期工作。


查看完整回答
反对 回复 2022-12-11
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信