-
Notifications
You must be signed in to change notification settings - Fork 788
/
Copy pathrandom-int.xml
148 lines (138 loc) · 3.79 KB
/
random-int.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.random-int" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>random_int</refname>
<refpurpose>Get a cryptographically secure, uniformly selected integer</refpurpose>
</refnamediv>
<refsect1 role="description"><!-- {{{ -->
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>random_int</methodname>
<methodparam><type>int</type><parameter>min</parameter></methodparam>
<methodparam><type>int</type><parameter>max</parameter></methodparam>
</methodsynopsis>
<para>
Generates a uniformly selected integer between the given minimum and maximum.
</para>
<para>
The randomness generated by this function is suitable for all applications, including
the generation of long-term secrets, such as encryption keys.
</para>
&csprng.sources;
&csprng.function.backport;
</refsect1><!-- }}} -->
<refsect1 role="parameters"><!-- {{{ -->
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>min</parameter></term>
<listitem>
<para>
The lowest value to be returned.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max</parameter></term>
<listitem>
<para>
The highest value to be returned.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1><!-- }}} -->
<refsect1 role="returnvalues"><!-- {{{ -->
&reftitle.returnvalues;
<para>
A cryptographically secure, uniformly selected integer from the closed interval
[<parameter>min</parameter>, <parameter>max</parameter>]. Both
<parameter>min</parameter> and <parameter>max</parameter> are
possible return values.
</para>
</refsect1><!-- }}} -->
<refsect1 role="errors"><!-- {{{ -->
&reftitle.errors;
<itemizedlist>
&csprng.errors;
<listitem>
<simpara>
If <parameter>max</parameter> is less than <parameter>min</parameter>, a
<classname>ValueError</classname> will be thrown.
</simpara>
</listitem>
</itemizedlist>
</refsect1><!-- }}} -->
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
In case of a <acronym>CSPRNG</acronym> failure, this function will now throw a
<classname>Random\RandomException</classname>. Previously a plain
<classname>Exception</classname> was thrown.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples"><!-- {{{ -->
&reftitle.examples;
<example xml:id="random-int.example.basic"><!-- {{{ -->
<title><function>random_int</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(random_int(100, 999));
var_dump(random_int(-1000, 0));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
int(248)
int(-898)
]]>
</screen>
</example><!-- }}} -->
</refsect1><!-- }}} -->
<refsect1 role="seealso"><!-- {{{ -->
&reftitle.seealso;
<simplelist>
<member><methodname>Random\Randomizer::getInt</methodname></member>
<member><function>random_bytes</function></member>
</simplelist>
</refsect1><!-- }}} -->
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->