-
Notifications
You must be signed in to change notification settings - Fork 109
Expand file tree
/
Copy pathhash-hmac.xml
More file actions
165 lines (158 loc) · 4.52 KB
/
hash-hmac.xml
File metadata and controls
165 lines (158 loc) · 4.52 KB
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 539a9823a805ac29cab7fa4baf3ae3a28116a2f5 Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<refentry xml:id="function.hash-hmac" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>hash_hmac</refname>
<refpurpose>使用 HMAC 方法生成带有密钥的散列值</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>hash_hmac</methodname>
<methodparam><type>string</type><parameter>algo</parameter></methodparam>
<methodparam><type>string</type><parameter>data</parameter></methodparam>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>binary</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>algo</parameter></term>
<listitem>
<para>
要使用的散列算法的名称(例如:<literal>“sha256”</literal>)。
可以在 <function>hash_hmac_algos</function> 中查看当前支持的算法。
</para>
<note>
<para>
不允许使用非加密哈希函数。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
要进行散列运算的消息。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
使用 HMAC 生成信息摘要时所使用的密钥。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>binary</parameter></term>
<listitem>
<para>
设置为 &true; 输出原始二进制数据,设置为 &false; 输出小写 16 进制字符串。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
如果 <parameter>binary</parameter> 设置为 &true;,则返回原始二进制数据表示的信息摘要,否则返回
16 进制小写字符串格式表示的信息摘要。
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
如果 <parameter>algo</parameter> 未知或非加密散列函数,则抛出
<classname>ValueError</classname> 异常。
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
如果 <parameter>algo</parameter> 未知或者非加密散列函数,现在将抛出
<classname>ValueError</classname> 异常;以前返回 &false;。
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>不再支持非加密的散列函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)。</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>hash_hmac</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
echo hash_hmac('sha256', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>hash_hmac_algos</function></member>
<member><function>hash_hmac_file</function></member>
<member><function>hash_equals</function></member>
</simplelist>
</para>
</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
-->