Единственное возможное решение для взлома - не работать хеш-функции.
Хэш-функция ожидает ввода строки (или преобразования типа в строку), поэтому выполнение ввода в виде массива нарушит хеш, и оба вернут false / не работают.
Значение обоих строго одинаково.
Это чит, но он удовлетворяет всем частям кода, как в настоящее время.
<?php
$_GET['str1'] = ["a"];
$_GET['str2'] = ["b"];
$salt = "aaabdnelnFnekknfn";
if($_GET['str1'] !== $_GET['str2'] and $_GET['str1'] and $_GET['str2'])
{
$hash1 = hash('sha256', $salt . $_GET['str1']);
$hash2 = hash('sha256', $salt . $_GET['str2']);
if($hash1 === $hash2) {
var_dump($_GET['str1'],$_GET['str2']);
}
}
https://3v4l.org/SPYKb