downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

hash_copy> <Hash 関数
[edit] Last updated: Fri, 25 May 2012

view this page in

hash_algos

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_algos登録されているハッシュアルゴリズムの一覧を返す

説明

array hash_algos ( void )

返り値

サポートされているハッシュアルゴリズムの一覧を、数値添字の 配列として返します。

変更履歴

バージョン 説明
5.4.0 joaat、fnv132 および fnv164 のサポートを追加し、Salsa10 および Salsa20 のサポートを削除しました。
5.3.0 md2、ripemd256、ripemd320、salsa10、salsa20、snefru256 および sha224 のサポートを追加しました。

例1 hash_algos() の例

PHP 5.3.0 では、hash_algos() は 以下のようなアルゴリズム名の一覧を返します。

<?php
print_r
(hash_algos());
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512
    [8] => ripemd128
    [9] => ripemd160
    [10] => ripemd256
    [11] => ripemd320
    [12] => whirlpool
    [13] => tiger128,3
    [14] => tiger160,3
    [15] => tiger192,3
    [16] => tiger128,4
    [17] => tiger160,4
    [18] => tiger192,4
    [19] => snefru
    [20] => snefru256
    [21] => gost
    [22] => adler32
    [23] => crc32
    [24] => crc32b
    [25] => salsa10
    [26] => salsa20
    [27] => haval128,3
    [28] => haval160,3
    [29] => haval192,3
    [30] => haval224,3
    [31] => haval256,3
    [32] => haval128,4
    [33] => haval160,4
    [34] => haval192,4
    [35] => haval224,4
    [36] => haval256,4
    [37] => haval128,5
    [38] => haval160,5
    [39] => haval192,5
    [40] => haval224,5
    [41] => haval256,5
)



add a note add a note User Contributed Notes hash_algos
alvaro at demogracia dot com 16-Nov-2010 05:02
These algorithms can be used to generate a session ID. Just pick a string value from the list and feed the session.hash_function directive with it. E.g.:

<?php
ini_set
('session.hash_function', 'whirlpool');
?>
elinor dot hurst at gmail dot REMOVEME dot com 30-Jun-2008 01:52
static function crypt_pass($pass, $salt=NULL)
    {
        $salt_len=7;
        $algo='sha256';

        if (!$salt||strlen($salt)<$salt_len)
        {
            $salt=uniqid(rand(), TRUE);     // get unique string (length==23)
        }
        $salt=substr($salt, 0, $salt_len);

        if (function_exists('hash') && in_array($algo, hash_algos()))
        {
            $hashed=hash($algo, $salt.$pass);
        }
        else
        {
            $hashed=sha1($salt.$pass);
        }
        return $salt.$hashed;
    }

 
show source | credits | stats | sitemap | contact | advertising | mirror sites