Я на самом деле застрял в идее. Так что я хочу создать следующий:алгоритм перестановок массив здание php
1) Создать массив алгоритмов хэширования, как:
$methods = array('md5()', 'base64_encode()', 'hex2bin()');
2) Петля через алгоритм перестановок и генерирует выходной сигнал, как:
Метод: md5> md5> md5> base64_encode> md5 = Вывести хеш из md5(md5(md5(base64_encode(hex2bin(md5($value))))));
Количество позиций используемого массива должно быть рандомизировано и порядок также.
Например:
Выход 1: md5(md5($value));
Выход 2: md5(base64_encode(md5($value)));
И так далее ...
Моя проблема заключается в следующем: я пытался поставить количество элементов в конце каждой позиции массива, как вы можете видеть в коде. Но так или иначе это результат: http://pr0b.com/sqlx/documents/list/hashr.php
Он печатает фигурные скобки для каждого предмета. Код выглядит следующим образом:
<?php
$pass = 'test';
$array_elems_to_combine = array('md5(', 'base64_encode(', 'hex2bin(');
$size = rand(0,10);
$current_set = array('');
for ($i = 0; $i < $size; $i++) {
$tmp_set = array();
foreach ($current_set as $curr_elem) {
foreach ($array_elems_to_combine as $new_elem) {
$tmp_set[] = $curr_elem . $new_elem . $pass . str_repeat(')', $size);
}
}
$current_set = $tmp_set;
}
foreach ($current_set as $key) {
echo($key) . '</br>';
}
?>
Обновленных вопрос. –
Только 'md5' - функция хеширования. Остальные два просто кодируют данные. Кроме того, почему вы делаете что-то подобное? Я надеюсь, что это не для хеширования паролей ... –