как сделать md5 файла?

Discussion in 'PHP' started by Дикс, 18 Nov 2006.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    в дистрибах линукса встречается файл md5_sums
    в каждой директории и там содержатся md5-хеши файлов.
    также я слышал что ОС определяет подлинность какого-либо приложения опять же сверяя его md5-хеш.
    а как получить этот хеш через php?
    ведь там функция принимает строку
     
  2. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    md5_file().
     
  3. SMiX

    SMiX Elder - Старейшина

    Joined:
    25 Jul 2005
    Messages:
    227
    Likes Received:
    55
    Reputations:
    29
    md5(file_get_contents($file))
    md5_file($file)
     
    1 person likes this.
  4. freddi

    freddi Elder - Старейшина

    Joined:
    5 Jul 2006
    Messages:
    399
    Likes Received:
    243
    Reputations:
    145
    По-моему это называется контрольной суммой файла.
     
  5. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    да, контрольная сумма, но ты же не станешь отрицать что результат является хешем?

    спасибо за функцию :)
     
    1 person likes this.
  6. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    берется контрольная сумма файла а потом от нее уже берется md5 хешь и потом уже сравнивается типо если хеши не совпадают то файлы изменяли
     
  7. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    Конкретный пример на перл:
    Code:
    use Digest::MD5;
    
    my $file = shift;
    open(FILE, $file) or die "Can't open '$file': $!";
    binmode(FILE);
    print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";