Привет всем, мне было интересно, что можно сделать, чтобы рандомизировать этот код еще дальше:
<?php
$key=md5('ILOVEYOU');
$serverseed = floor(time() / 5);
srand($serverseed);
$result = rand();
$modulus_result= $result % 100;
echo "before: ".$modulus_result."<br>";
echo "after: ".encrypt($modulus_result, $key)."<br>";
echo decrypt($modulus_result, $key);
function decrypt($string, $key){
$string = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($string), MCRYPT_MODE_ECB));
return $string;
}
function encrypt($string, $key){
$string = rtrim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $string, MCRYPT_MODE_ECB)));
return $string;
}
?>
Хорошо для всех, кто наткнулся на эту тему и неправильно понял тему, я не использую эту функцию для защиты НИЧЕГО на моем веб-сайте, я просто ищу способы рандомизировать эту функцию, поскольку она использует time () в качестве ссылки …
Мне нужно сгенерировать случайное значение int из 1-100, которое, кажется, работает, я просто ищу другие способы его рандомизировать (если бы я мог объяснить немного больше, добавив какую-то «соль», а не шифрование любого рода). )
Проверить документация:
Эта функция не генерирует криптографически безопасные значения, и
не должен использоваться в криптографических целях. Если вам нужно
криптографически безопасное значение, рассмотрите возможность использования random_int (),
random_bytes () или openssl_random_pseudo_bytes () взамен.
Вы можете использовать random_int вместо.
Проблема в том, что он был представлен в PHP 7, поэтому вы не сможете его использовать. В этом случае вы можете получить его Вот, как указано в документации.
Других решений пока нет …