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

search for in the

hash_algos> <Öntanımlı Sabitler
Last updated: Fri, 13 Nov 2009

view this page in

Hash İşlevleri

İçindekiler

  • hash_algos — Kayıtlı özetleme algoritmalarının bir listesini döndürür
  • hash_copy — Özetleme bağlamını kopyalar
  • hash_file — Belirtilen dosyanın içeriğinden bir ileti özeti üretir
  • hash_final — Bir ardışık özetleme işlemini bitirip üretilen özeti döndürür
  • hash_hmac_file — Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti özeti üretir
  • hash_hmac — HMAC yöntemini kullanarak bir anahtarlı ileti özeti üretir
  • hash_init — Ardışık özetleme bağlamını ilklendirir
  • hash_update_file — Veriyi bir dosyadan etkin bir özetleme bağlamına dahil eder
  • hash_update_stream — Veriyi açık bir akımdan etkin bir özetleme bağlamına dahil eder
  • hash_update — Veriyi etkin bir özetleme bağlamına dahil eder
  • hash — Bir ileti özeti üretir


hash_algos> <Öntanımlı Sabitler
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
Hash İşlevleri
artem at it-nt dot ru
20-Jul-2008 07:35
And some code for LM hash:

<?php
function LMhash($string)
{
   
$string = strtoupper(substr($string,0,14));

   
$p1 = LMhash_DESencrypt(substr($string, 0, 7));
   
$p2 = LMhash_DESencrypt(substr($string, 7, 7));

    return
strtoupper($p1.$p2);
}

function
LMhash_DESencrypt($string)
{
   
$key = array();
   
$tmp = array();
   
$len = strlen($string);

    for (
$i=0; $i<7; ++$i)
       
$tmp[] = $i < $len ? ord($string[$i]) : 0;

   
$key[] = $tmp[0] & 254;
   
$key[] = ($tmp[0] << 7) | ($tmp[1] >> 1);
   
$key[] = ($tmp[1] << 6) | ($tmp[2] >> 2);
   
$key[] = ($tmp[2] << 5) | ($tmp[3] >> 3);
   
$key[] = ($tmp[3] << 4) | ($tmp[4] >> 4);
   
$key[] = ($tmp[4] << 3) | ($tmp[5] >> 5);
   
$key[] = ($tmp[5] << 2) | ($tmp[6] >> 6);
   
$key[] = $tmp[6] << 1;
  
   
$is = mcrypt_get_iv_size(MCRYPT_DES, MCRYPT_MODE_ECB);
   
$iv = mcrypt_create_iv($is, MCRYPT_RAND);
   
$key0 = "";
  
    foreach (
$key as $k)
       
$key0 .= chr($k);
   
$crypt = mcrypt_encrypt(MCRYPT_DES, $key0, "KGS!@#$%", MCRYPT_MODE_ECB, $iv);

    return
bin2hex($crypt);
}
?>

Some optimization?
CraquePipe
25-Mar-2008 12:42
For thoes of you who're looking to generate an NTLM hash (not an LM hash), I found out it's quite simple..

It uses the basic MD4 function, but the password needs to be in Unicode Little Endian encode first (this canbe achieved by the iconv function).

This can be done easily by using the following code:

<?php
function NTLMHash($Input) {
 
// Convert the password from UTF8 to UTF16 (little endian)
 
$Input=iconv('UTF-8','UTF-16LE',$Input);

 
// Encrypt it with the MD4 hash
 
$MD4Hash=bin2hex(mhash(MHASH_MD4,$Input));

 
// You could use this instead, but mhash works on PHP 4 and 5 or above
  // The hash function only works on 5 or above
  //$MD4Hash=hash('md4',$Input);

  // Make it uppercase, not necessary, but it's common to do so with NTLM hashes
 
$NTLMHash=strtoupper($MD4Hash);

 
// Return the result
 
return($NTLMHash);
}
?>

To produce an LM hash requires a fully-written script containing the algorithm used to make it.

Enjoy,
CraquePipe.
martin
27-Sep-2007 07:28
I tried to use Hash() function on my PHP 5.2.3 (FreeBSD 6.2) but there was no Hash() function. (it should be available by default from version 5.1.2)

Hash() function was working after installing "security/pecl-hash" port.
nb_removethis_ at wtal dot de
04-Sep-2007 12:24
Some tests with mhash and hash revealed on my machine that hash needs more than twice as long to create a hash than mhash. The average of one million cylces of Haval128, Haval256, Gost, CRC32, MD5, SHA1 and SHA256 was 450ms for mhash and 1150ms for hash.

hash_algos> <Öntanımlı Sabitler
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites