сгенерировать случайное число php

Как получить в PHP случайное число?

Получение случайного числа

Этот метод полезен для добавления случайных чисел в файлы CSS и JavaScript :

Это всего лишь один из возможных способов. Возвращаемое число будет принадлежать диапазону между двумя указанными числами.

Получение случайной строки

Если вам нужна PHP генерация случайного числа или буквенно-цифровой строки, попробуйте эту функцию:

Этот код выдает случайную строку, состоящую из 10 символов. Можно изменить 10 на необходимое число. Альтернативная версия функции:

Применение такое же, как и для предыдущей функции.

Еще более случайная строка

Этот метод похож на предыдущий, но в нем создается еще более случайная буквенно-цифровая строка с помощью генерации случайных чисел функцией srand() :

Применение способа получения в PHP случайного числа из диапазона:

Приведенный выше код выдает случайную строку, состоящую из 10 символов. Вы можете изменить 10 на нужное число.

Случайная удобочитаемая строка

В приведенном ниже примере мы генерируем случайную строку, которая включает в себя только буквы, чтобы сделать строку понятной:

Получение случайных элементов из массива

Есть много способов сделать это. Основная задача — вернуть из массива случайный набор элементов. Я использую приведенный ниже метод для отображения четырех случайных объявлений ( из массива, который включает в себя восемь объявлений ):

Этот код выдает строку, содержащую четыре случайных элемента, разделенных пробелом. Можно задать любое число. Просто не забудьте, что оно должно быть меньше, чем общее количество элементов массива. Также можно настроить выходную строку по своему желанию.

Случайные строки пароля

Вот пример использования функций для генерации паролей на основе массива случайных чисел PHP :

Существует множество способов генерации случайных паролей. Но этот позволяет контролировать надежность и длину пароля. Вот пример использования кода для получения в PHP случайного числа из диапазона :

Получение известной случайной строки

Обратите внимание, что этот PHP генератор случайных чисел не рекомендуется для применения на рабочих сайтах. Я рассмотрел его только потому, что он соответствует теме статьи, и может помочь в разработке различных идей тем, кто работает над подобными проектами.

Пожалуйста, оставьте ваши мнения по текущей теме статьи. За комментарии, подписки, отклики, дизлайки, лайки низкий вам поклон!

Источник

Сгенерировать случайное число в PHP

сгенерировать случайное число php. Смотреть фото сгенерировать случайное число php. Смотреть картинку сгенерировать случайное число php. Картинка про сгенерировать случайное число php. Фото сгенерировать случайное число php

Использование rand()

Эта функция используется для генерации случайного целого числа. Синтаксис этой функции приведен ниже.

Он возвращает большое случайное целое число, если в функции не используется параметр. Если в этой функции указаны два значения аргумента, она вернет случайное целое число на основе значений аргументов. Использование этой функции показано ниже.

Пример 1: Различные варианты использования функции rand()

В следующем примере показаны три различных использования функции rand() для генерации случайного числа. Сначала функция rand() вызывается два раза без аргументов, чтобы показать, как по умолчанию генерируются случайные числа. Затем он вызывается два раза с двумя разными минимальным и максимальным значениями. Наконец, он вызывается дважды с помощью побитового оператора.

Аналогичный результат появится после запуска скрипта с сервера. Первый вывод показывает два разных больших числа. На втором выходе первое случайное число было сгенерировано в диапазоне от 10 до 100, а второе случайное число было сгенерировано в диапазоне от 100 до 500. На третьем выходе первое случайное число было сгенерировано в пределах диапазон от 0 до 10, а второе случайное число было сгенерировано в диапазоне от 0 до 50.

Использование random_int()

Эта функция используется для генерации криптографически псевдобезопасного случайного числа. Функция системного вызова getrandom (2) используется в Ubuntu для генерации криптографического случайного числа. Эта функция более безопасна, чем функция rand(), потому что сгенерированное число непредсказуемо. Но random_int() медленнее, чем функция rand(). Синтаксис этой функции приведен ниже.

В функции используются два аргумента, чтобы установить диапазон для генерации криптографического случайного числа. Первый аргумент используется для установки наименьшего значения, а второй аргумент используется для установки наибольшего значения числа. Использование этой функции показано ниже.

Пример 2: Различные варианты использования функции random_int()

В следующем примере показано использование функции random_int() для генерации случайного числа путем предоставления минимального и максимального значений. Эти значения могут быть целыми или плавающими, но минимальное не может быть больше максимального. В первой функции random_int() положительные целые числа используются как минимальное и максимальное значения. Во второй функции random_int() отрицательное целое число используется как минимум, а положительное целое число используется как максимальное значение. В третьей функции random_int() плавающие числа используются как минимальное и максимальное значения.

Следующий аналогичный вывод появится после запуска сценария с сервера.

Использование mt_rand()

Эта функция используется для генерации высококачественных псевдослучайных чисел с помощью генератора Mersenne Twister. Работает быстрее, чем функция rand(). Синтаксис этой функции приведен ниже.

Как и функция rand(), она может принимать два аргумента для установки максимального и минимального значений, и эту функцию также можно использовать без каких-либо аргументов. Использование этой функции показано ниже.

Пример 3: Различные варианты использования функции mt_rand()

В следующем примере показано использование функции mt_rand() с аргументами и без них. Первая функция mt_rand() вызывается без каких-либо аргументов, которая генерирует большое целое число. Вторая функция mt_rand() вызывается с минимальным и максимальным значением, которое будет генерировать число в заданном диапазоне.

Следующий аналогичный вывод будет сгенерирован после запуска сценария с сервера. Первый вывод показывает, что было сгенерировано большое целое число, когда в функции mt_rand() не использовался аргумент.

Заключение

В этой статье на простых примерах были объяснены три различных способа создания случайного числа в PHP. Лучше использовать функцию random_int(), когда важна безопасность, но лучше использовать функцию mt_rand(), когда требуется быстрее сгенерировать случайное число. Функция rand() может использоваться для генерации простого случайного числа.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Сгенерировать случайное число php

(PHP 4, PHP 5, PHP 7, PHP 8)

rand — Генерирует случайное число

Описание

Список параметров

Наименьшее значение, которое может быть возвращено (по умолчанию: 0)

Наибольшее значение, которое может быть возвращено (по умолчанию: getrandmax() )

Возвращаемые значения

Псевдослучайное значение в диапазоне от min (или 0) до max (или getrandmax() ).

Список изменений

Примеры

Пример #1 Пример использования rand()

Результатом выполнения данного примера будет что-то подобное:

Примечания

Смотрите также

User Contributed Notes 39 notes

quick way to generate randomish numbers and simple strings.
no messing around with functions, so you can just pop the line into the middle of your existing code.

not the most perfect for sure, but ok for plenty of situations.

?>

hope someone finds it useful for somthing.

I also enjoy making one-liners.

Examples:
rand_chars(«ABCEDFG», 10) == GABGFFGCDA
rand_chars(«ABCEDFG», 10, TRUE) == CBGFAEDFEC

Don’t forget, it’s faster to use bitwise operations when you need a random number that’s less than some power of two. For example,

Since many people (myself included) come to this page looking for a way to do a random string, I present a way that uses arrays and shuffle() instead of rand(). This also has the effect of not repeating any characters in the value set.

If you are looking for generate a random expression, like password with alphanumeric or any other character, use this function:

//Here you specify how many characters the returning string must have
echo GeraHash ( 30 );
?>

Random integers with normal distribution,
it’s not scientifically approved, but worked for me.

isn’t this just a simpler way of making a random id for somthing? I mean i know that there is a very slight chance that a duplicate could be made but its a very, very, very small chance, nearly impossible.

and if you don’t want it the md5 can be removed, I’ve just added it as a prefer it there 🙂

I have made this example to generate random number with specific length (10).

Источник

mt_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_rand — Генерирует случайное значение методом с помощью генератора простых чисел на базе Вихря Мерсенна

Описание

Список параметров

Необязательный параметр: минимальное значение случайного числа (по умолчанию: 0)

Необязательный параметр: максимальное значение случайного числа (по умолчанию: mt_getrandmax() )

Возвращаемые значения

Список изменений

Примеры

Пример #1 Пример использования mt_rand()

Результатом выполнения данного примера будет что-то подобное:

Примечания

Смотрите также

User Contributed Notes 24 notes

i wanted to spot out the big difference between rand and mt_rand when producing images using randomness as noise.

for example this is a comparation between rand and mt_rand on a 400×400 pixel png: http://oi43.tinypic.com/vwtppl.jpg

code:
( «Content-type: image/png» );
$sizex = 800 ;
$sizey = 400 ;

(rand is on the left, mt_rand on the right)

mt_rand is not calculated by Mersenne Twister.

a better (and likely faster) way to generate a random 6-digit hex string:

To reiterate the message about *not* using mt_rand() for anything security related, here’s a new tool that has been just posted that recovers the seed value given a single mt_rand() output:

To quickly build a human-readable random string for a captcha per example :

Tested over 100’000 iterations, with none/various/random arguments, mt_rand is always 3% slower than rand().

Another good way to get a random float is to divide the result of mt_rand.
Let’s say we want a float between 0.75 and 1.25.

Another graphical comparison of rand() and mt_rand(). It effectively draws a graph showing how the last generated number affects the next by plotting the numbers in consecutive pairs against each other.

( «Content-type: image/png» );
$sizex = 800 ;
$sizey = 800 ;

Another generic random string function, but very small and fast.

A nifty function to generate pretty coupon codes. This will generate unique coupon codes and you don’t have to do a database check whether the code already exists.

If you need some pseudorandom bits for security or cryptographic purposes (e.g.g., random IV for block cipher, random salt for password hash) mt_rand() is a poor source. On most Unix/Linux and/or MS-Windows platforms you can get a better grade of pseudorandom bits from the OS or system library, like this:

// get 128 pseudorandom bits in a string of 16 bytes

A class to generate 99.5% unqiue strings. I found that there is only one or two characters common between two subsequent strings.

public function getRand () <

public function getPrevRand () <

rand() comes from the libc, and mt_rand() is internal to PHP. So the differences vary with their respective versions.

On a 64b Debian Stretch with PHP 5.6.21, there is no visible difference: http://oi64.tinypic.com/2nkqas6.jpg

This image compares the two functions. In the top half with random points, in the lower half with random intensity on each point. This is totally different from what was obtained 4 years ago in another note, with an unknown environment.

Here is the code for this visual comparison.
= 400 ;
$sizey = 400 ;

With PHP 5.3.3, we’re seeing odd behavior on 32 bit Linux.

The moral? On 32 bit systems, be careful about crossing the signed number boundary, 0x7FFFFFFF.

mt_rand function returns just a whole numbers. If you want a random float, then here’s an elegant way:

Fast, pseudo-random binary data generation using mt_rand():

performance: for a repetitive task, it’s much faster not to use the limit parameters, as shown below. just use the % operator.

Allows characters 0-9, a-z
Weighted (and tested) ok.

Источник

Случайность в PHP7 – Повезет ли мне?

сгенерировать случайное число php. Смотреть фото сгенерировать случайное число php. Смотреть картинку сгенерировать случайное число php. Картинка про сгенерировать случайное число php. Фото сгенерировать случайное число php

В этой статье мы проанализируем проблемы, относящиеся к генерации случайных чисел, используемых в криптографии. PHP5 не обеспечивает простой механизм генерации криптостойких случайных чисел, в то время как PHP7 решает эту проблему путем введения CSPRNG-функций.

Что такое CSPRNG?

Цитируя википедию, криптографически стойкий генератор псевдослучайных чисел (англ. Cryptographically secure pseudorandom number generator, CSPRNG) — это генератор псевдослучайных чисел с определёнными свойствами, позволяющими использовать его в криптографии.

CSPRNG в PHP7

random_int возвращает целое число в заданном диапазоне:

За кадром

Простой тест

Хорошая система генерации случайных чисел определяется «качеством» генераций. Чтобы его проверить часто используется набор статистических тестов, позволяющих, не вникая в сложную тему статистики, сравнить известное эталонное поведение с результатом генератора и помочь в оценке его качества.

График будет выглядеть так (чем ближе к нулю, тем лучше):

сгенерировать случайное число php. Смотреть фото сгенерировать случайное число php. Смотреть картинку сгенерировать случайное число php. Картинка про сгенерировать случайное число php. Фото сгенерировать случайное число php

А что насчет PHP5?

Если вы хотите начать использовать хороший генератор случайных чисел и в то же время пока еще не готовы к переходу на PHP7, вы можете использовать библитеку random_compat от Paragon Initiative Enterprises. Она позволяет использовать random_bytes() и random_int() в PHP 5.х проектах.

Библиотеку можно установить через Composer:

Дополнительную информацию о том почему используется именно этот порядок вы можете прочитать в документации.

Пример генерации пароля с использованием библиотеки:

Краткий итог

Вы всегда должны применять криптографически стойкие генераторы псевдослучайных чисел, и random_compat является хорошим решением для этого.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *