Насколько это эффективно? Привет. Оговорюсь сразу о том что на функцию наткнулся случайно.$str = hash_hmac(HASH, $str, HASH_SECRET1); for ($i = 0; $i < 100; $i++) { $str = md5($str); } Я так понимаю что сначала мы хешируем $str каким то надёжным алгоритмом (допустим sha512) потом полученный хеш хешируем ещё 100 раз функцией md5 (если я правильно понял о цикле) Заранее спасибо PS немножко покрутил я эту идею и написал вот такой вот классclass security { function salt() { $chars = "qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; $max = HASH_SALT; $size = StrLen($chars) - 1; $salt = null; while ($max--) { $salt.=$chars[rand(0, $size)]; } return $salt; } public function NewHash5($str) { $salt = self::salt(); $str = hash_hmac(HASH, HASH_SECRET3 . $str . $salt, HASH_SECRET1); for ($i = 0; $i < 100; $i++) { $str = hash('sha1', $str); } for ($i = 0; $i < HASH_REKURS; $i++) { $str = hash('whirlpool', HASH_SECRET3 . $str . $salt.HASH_SECRET2); } for ($i = 0; $i < 10; $i++) { $str = hash('haval128,3', $str); } for ($i = 0; $i < 10; $i++) { $str = hash('adler32', $str); } $return['hash'] = HASH_SECRET2 . $str; $return['salt'] = $salt; return $return; } } Если использовать соль в 60 символов то отработка на сервере занимает 0.00152683 меряю вот таким кусочком кода substr(microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"], 0, 10)
Эффективность данного подхода к хешированию зависит от конкретных требований к безопасности и уровню защиты, который необходимо обеспечить для данных.
Ваш класс security предлагает использовать комбинацию различных хеш-функций (SHA, Whirlpool, Haval, Adler) в сочетании с добавлением соли для увеличения безопасности хеширования. Это может быть полезно для усиления защиты от различных видов атак, таких как подбор паролей методом перебора.
Однако, следует иметь в виду, что использование нескольких итераций хеширования и комбинация различных алгоритмов также может повлиять на производительность, особенно при большом количестве операций.
Рекомендуется провести тщательное тестирование данного подхода на предмет производительности и эффективности в конкретной среде, чтобы убедиться, что он соответствует требованиям проекта. Также стоит обратить внимание на актуальность используемых хеш-функций и методов безопасности, так как стандарты и рекомендации в этой области могут меняться со временем.
Эффективность данного подхода к хешированию зависит от конкретных требований к безопасности и уровню защиты, который необходимо обеспечить для данных.
Ваш класс security предлагает использовать комбинацию различных хеш-функций (SHA, Whirlpool, Haval, Adler) в сочетании с добавлением соли для увеличения безопасности хеширования. Это может быть полезно для усиления защиты от различных видов атак, таких как подбор паролей методом перебора.
Однако, следует иметь в виду, что использование нескольких итераций хеширования и комбинация различных алгоритмов также может повлиять на производительность, особенно при большом количестве операций.
Рекомендуется провести тщательное тестирование данного подхода на предмет производительности и эффективности в конкретной среде, чтобы убедиться, что он соответствует требованиям проекта. Также стоит обратить внимание на актуальность используемых хеш-функций и методов безопасности, так как стандарты и рекомендации в этой области могут меняться со временем.