update : 2015.11.03
php.shukuma.com

검색:
 
 
Generate a hash value (message digest)

hash

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

hashGenerate a hash value (message digest)

설명

string hash ( string $algo , string $data [, bool $raw_output = false ] )

인수

algo

Name of selected hashing algorithm (e.g. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

raw_output

When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits.

반환값

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

변경점

버전 설명
5.4.0 The tiger algorithm now uses big-endian byte ordering. See also example below.

예제

Example #1 A hash() example

<?php
echo hash('ripemd160''The quick brown fox jumped over the lazy dog.');
?>

위 예제의 출력:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

Example #2 Calculate pre PHP-5.4 tiger hashes with PHP-5.4 and higher

<?php
function old_tiger($data ""$width=192$rounds 3) {
    return 
substr(
        
implode(
            
array_map(
                function (
$h) {
                    return 
str_pad(bin2hex(strrev($h)), 16"0");
                },
                
str_split(hash("tiger192,$rounds"$datatrue), 8)
            )
        ),
        
048-(192-$width)/4
    
);
}
echo 
hash('tiger192,3''a-string'), PHP_EOL;
echo 
old_tiger('a-string'), PHP_EOL;
?>

PHP 5.3에서 위 예제의 출력:

146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16

PHP 5.4에서 위 예제의 출력:

64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773

참고

  • hash_file() - Generate a hash value using the contents of a given file
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_init() - Initialize an incremental hashing context
  • md5() - 문자열의 md5 해시를 계산
  • sha1() - 문자열의 sha1 해시를 계산