首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

openssl_get_cipher_methods

(PHP 5 >= 5.3.0, PHP 7)

openssl_get_cipher_methods — 获取可用的密码方法

描述

代码语言:javascript
复制
array openssl_get_cipher_methods ([ bool $aliases = false ] )

获取可用密码方法的列表。

参数

aliases

TRUE如果密码别名应该包含在返回的数组中,则设置为。

返回值

一系列可用的密码方法。

例子

示例#1 openssl_get_cipher_methods()示例

显示可用密码的外观,以及可用的别名。

代码语言:javascript
复制
<?php
$ciphers?????????????=?openssl_get_cipher_methods();
$ciphers_and_aliases?=?openssl_get_cipher_methods(true);
$cipher_aliases??????=?array_diff($ciphers_and_aliases,?$ciphers);

//ECB?mode?should?be?avoided
$ciphers?=?array_filter(?$ciphers,?function($n)?{?return?stripos($n,"ecb")===FALSE;?}?);

//At?least?as?early?as?Aug?2016,?Openssl?declared?the?following?weak:?RC2,?RC4,?DES,?3DES,?MD5?based
$ciphers?=?array_filter(?$ciphers,?function($c)?{?return?stripos($c,"des")===FALSE;?}?);
$ciphers?=?array_filter(?$ciphers,?function($c)?{?return?stripos($c,"rc2")===FALSE;?}?);
$ciphers?=?array_filter(?$ciphers,?function($c)?{?return?stripos($c,"rc4")===FALSE;?}?);
$ciphers?=?array_filter(?$ciphers,?function($c)?{?return?stripos($c,"md5")===FALSE;?}?);
$cipher_aliases?=?array_filter($cipher_aliases,function($c)?{?return?stripos($c,"des")===FALSE;?}?);
$cipher_aliases?=?array_filter($cipher_aliases,function($c)?{?return?stripos($c,"rc2")===FALSE;?}?);

print_r($ciphers);
print_r($cipher_aliases);
?>

上面的例子会输出类似于:

代码语言:javascript
复制
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
)

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com