mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-18 13:57:03 +08:00
165 lines
11 KiB
HTML
165 lines
11 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<title>获取可用的加密算法</title>
|
|
</head>
|
|
<body class="docs"><div id="layout">
|
|
<div id="layout-content"><div id="function.openssl-get-cipher-methods" class="refentry">
|
|
<div class="refnamediv">
|
|
<h1 class="refname">openssl_get_cipher_methods</h1>
|
|
<p class="verinfo">(PHP 5 >= 5.3.0, PHP 7)</p><p class="refpurpose"><span class="refname">openssl_get_cipher_methods</span> — <span class="dc-title">获取可用的加密算法</span></p>
|
|
|
|
</div>
|
|
|
|
<div class="refsect1 description" id="refsect1-function.openssl-get-cipher-methods-description">
|
|
<h3 class="title">说明</h3>
|
|
<div class="methodsynopsis dc-description">
|
|
<span class="methodname"><strong>openssl_get_cipher_methods</strong></span>
|
|
([ <span class="methodparam"><span class="type">bool</span> <code class="parameter">$aliases</code><span class="initializer"> = false</span></span>
|
|
] ) : <span class="type">array</span></div>
|
|
|
|
<p class="para rdfs-comment">
|
|
获取可用的加密算法的列表。
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 parameters" id="refsect1-function.openssl-get-cipher-methods-parameters">
|
|
<h3 class="title">参数</h3>
|
|
<p class="para">
|
|
<dl>
|
|
|
|
|
|
<dt>
|
|
<code class="parameter">aliases</code></dt>
|
|
|
|
<dd>
|
|
|
|
<p class="para">
|
|
如果密码别名应该包含在返回的<span class="type"><a href="language.types.array.html" class="type array">array</a></span>中,则设置为 <strong><code>TRUE</code></strong>.
|
|
</p>
|
|
</dd>
|
|
|
|
|
|
</dl>
|
|
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 returnvalues" id="refsect1-function.openssl-get-cipher-methods-returnvalues">
|
|
<h3 class="title">返回值</h3>
|
|
<p class="para">
|
|
一个包含可用加密算法的<span class="type"><a href="language.types.array.html" class="type array">array</a></span>。
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 examples" id="refsect1-function.openssl-get-cipher-methods-examples">
|
|
<h3 class="title">范例</h3>
|
|
<p class="para">
|
|
<div class="example" id="example-934">
|
|
<p><strong>Example #1 <span class="function"><strong>openssl_get_cipher_methods()</strong></span> example</strong></p>
|
|
<div class="example-contents"><p>
|
|
展示了哪些加密算法能被找到,哪些别名可用。
|
|
</p></div>
|
|
<div class="example-contents">
|
|
<div class="phpcode"><pre><span style="color: #000000">
|
|
<span style="color: #0000BB"><?php<br />$ciphers </span><span style="color: #007700">= </span><span style="color: #0000BB">openssl_get_cipher_methods</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$ciphers_and_aliases </span><span style="color: #007700">= </span><span style="color: #0000BB">openssl_get_cipher_methods</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$cipher_aliases </span><span style="color: #007700">= </span><span style="color: #0000BB">array_diff</span><span style="color: #007700">(</span><span style="color: #0000BB">$ciphers_and_aliases</span><span style="color: #007700">, </span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//ECB mode should be avoided<br /></span><span style="color: #0000BB">$ciphers </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">( </span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">, function(</span><span style="color: #0000BB">$n</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$n</span><span style="color: #007700">,</span><span style="color: #DD0000">"ecb"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /><br /></span><span style="color: #FF8000">//At least as early as Aug 2016, Openssl declared the following weak: RC2, RC4, DES, 3DES, MD5 based<br /></span><span style="color: #0000BB">$ciphers </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">( </span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">, function(</span><span style="color: #0000BB">$c</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">,</span><span style="color: #DD0000">"des"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /></span><span style="color: #0000BB">$ciphers </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">( </span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">, function(</span><span style="color: #0000BB">$c</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">,</span><span style="color: #DD0000">"rc2"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /></span><span style="color: #0000BB">$ciphers </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">( </span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">, function(</span><span style="color: #0000BB">$c</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">,</span><span style="color: #DD0000">"rc4"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /></span><span style="color: #0000BB">$ciphers </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">( </span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">, function(</span><span style="color: #0000BB">$c</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">,</span><span style="color: #DD0000">"md5"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /></span><span style="color: #0000BB">$cipher_aliases </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">(</span><span style="color: #0000BB">$cipher_aliases</span><span style="color: #007700">,function(</span><span style="color: #0000BB">$c</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">,</span><span style="color: #DD0000">"des"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /></span><span style="color: #0000BB">$cipher_aliases </span><span style="color: #007700">= </span><span style="color: #0000BB">array_filter</span><span style="color: #007700">(</span><span style="color: #0000BB">$cipher_aliases</span><span style="color: #007700">,function(</span><span style="color: #0000BB">$c</span><span style="color: #007700">) { return </span><span style="color: #0000BB">stripos</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">,</span><span style="color: #DD0000">"rc2"</span><span style="color: #007700">)===</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">; } );<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$ciphers</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$cipher_aliases</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
|
</span>
|
|
</pre></div>
|
|
</div>
|
|
|
|
<div class="example-contents"><p>以上例程的输出类似于:</p></div>
|
|
<div class="example-contents screen">
|
|
<div class="cdata"><pre>
|
|
Array
|
|
(
|
|
[0] => AES-128-CBC
|
|
[1] => AES-128-CFB
|
|
[2] => AES-128-CFB1
|
|
[3] => AES-128-CFB8
|
|
[5] => AES-128-OFB
|
|
[6] => AES-192-CBC
|
|
[7] => AES-192-CFB
|
|
[8] => AES-192-CFB1
|
|
[9] => AES-192-CFB8
|
|
[11] => AES-192-OFB
|
|
[12] => AES-256-CBC
|
|
[13] => AES-256-CFB
|
|
[14] => AES-256-CFB1
|
|
[15] => AES-256-CFB8
|
|
[17] => AES-256-OFB
|
|
[18] => BF-CBC
|
|
[19] => BF-CFB
|
|
[21] => BF-OFB
|
|
[22] => CAST5-CBC
|
|
[23] => CAST5-CFB
|
|
[25] => CAST5-OFB
|
|
[41] => IDEA-CBC
|
|
[42] => IDEA-CFB
|
|
[44] => IDEA-OFB
|
|
[53] => aes-128-cbc
|
|
[54] => aes-128-cfb
|
|
[55] => aes-128-cfb1
|
|
[56] => aes-128-cfb8
|
|
[58] => aes-128-ofb
|
|
[59] => aes-192-cbc
|
|
[60] => aes-192-cfb
|
|
[61] => aes-192-cfb1
|
|
[62] => aes-192-cfb8
|
|
[64] => aes-192-ofb
|
|
[65] => aes-256-cbc
|
|
[66] => aes-256-cfb
|
|
[67] => aes-256-cfb1
|
|
[68] => aes-256-cfb8
|
|
[70] => aes-256-ofb
|
|
[71] => bf-cbc
|
|
[72] => bf-cfb
|
|
[74] => bf-ofb
|
|
[75] => cast5-cbc
|
|
[76] => cast5-cfb
|
|
[78] => cast5-ofb
|
|
[94] => idea-cbc
|
|
[95] => idea-cfb
|
|
[97] => idea-ofb
|
|
)
|
|
Array
|
|
(
|
|
[18] => AES128
|
|
[19] => AES192
|
|
[20] => AES256
|
|
[21] => BF
|
|
[26] => CAST
|
|
[27] => CAST-cbc
|
|
[50] => IDEA
|
|
[82] => aes128
|
|
[83] => aes192
|
|
[84] => aes256
|
|
[85] => bf
|
|
[90] => blowfish
|
|
[91] => cast
|
|
[92] => cast-cbc
|
|
[115] => idea
|
|
)
|
|
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 seealso" id="refsect1-function.openssl-get-cipher-methods-seealso">
|
|
<h3 class="title">参见</h3>
|
|
<p class="para">
|
|
<ul class="simplelist">
|
|
<li class="member"><span class="function"><a href="openssl_get_md_methods.html" class="function" rel="rdfs-seeAlso">openssl_get_md_methods()</a> - 获取可用的摘要算法</span></li>
|
|
</ul>
|
|
</p>
|
|
</div>
|
|
|
|
|
|
</div></div></div></body></html> |