APR1

APR1

Usage

APR-1 est une fonction de hashage utilisé par les serveurs Apache pour chiffrer les mots de passe .htaccess. Il se sert de MD5 comme base.

Le résultat est structuré comme suit :

$apr1$__SALT__$_________HASH_________

Le sel fait 8 caractères et le hash 22.

Algorithme

Code PHP

function apr1_salt() {
    $saltern = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    $saltern .= './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    $salt = ;
    for($i=0; $i<8; $i++)
        $salt .= $saltern[rand(0, 127)];
    return $salt;
}
function apr1($mdp, $salt) {
    $max = strlen($mdp);
    $context = $mdp.'$apr1$'.$salt;
    $binary = pack('H32', md5($mdp.$salt.$mdp));
    for($i=$max; $i>0; $i-=16)
        $context .= substr($binary, 0, min(16, $i));
    for($i=$max; $i>0; $i>>=1)
        $context .= ($i & 1) ? chr(0) : $mdp{0};
    $binary = pack('H32', md5($context));
    for($i=0; $i<1000; $i++) {
        $new = ($i & 1) ? $mdp : $binary;
        if($i % 3) $new .= $salt;
        if($i % 7) $new .= $mdp;
        $new .= ($i & 1) ? $binary : $mdp;
        $binary = pack('H32', md5($new));
    }
    $hash = ;
    for ($i = 0; $i < 5; $i++) {
        $k = $i+6;
        $j = $i+12;
        if($j == 16) $j = 5;
        $hash = $binary{$i}.$binary{$k}.$binary{$j}.$hash;
    }
    $hash = chr(0).chr(0).$binary{11}.$hash;
    $hash = strtr(
        strrev(substr(base64_encode($hash), 2)),
        'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
        './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
    );
    return '$apr1$'.$salt.'$'.$hash;
}

Liens


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article APR1 de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • .htaccess — Les fichiers .htaccess sont des fichiers de configuration des serveurs web Apache. Ils peuvent être placés dans n importe quel répertoire du site web (la configuration s applique au répertoire et à tous ceux qu il contient n ayant pas de tel… …   Wikipédia en Français

  • Htaccess — Les fichiers .htaccess sont des fichiers de configuration des serveurs web Apache. Ils peuvent être placés dans n importe quel répertoire du site web (la configuration s applique au répertoire et à tous les répertoires qu il contient, qui n ont… …   Wikipédia en Français

  • Tiruvalluvar — Thiruvalluvar ( ta. திருவள்ளுவர்) is a celebrated Tamil poet who wrote the Thirukkural, an ethical work in Tamil literature. He is claimed by both the Tamils who practice Hinduism and the Tamils who practice Jainism as their own. [cite book last …   Wikipedia

  • Vanessa Atler — Infobox Gymnast gymnastname= Vanessa Atler imagesize= caption= fullname= Vanessa Marie Atler nickname= country= United States formercountry= birthdate= birth date and age|mf=yes|1982|02|17 birthplace= Valencia, California hometown= height=… …   Wikipedia

  • Egbert W. Beach Elementary School — infobox School name= Egbert W. Beach Elementary School type= public elementary school location= 100 Lake Avenue Piedmont, CA 94611 imagesize = 300px caption= Entrance to Beach School, from Lake Street established= 1913 district= Piedmont Unified… …   Wikipedia

  • Ivan Ivankov — Infobox Gymnast gymnastname= Ivan Ivankov imagesize=150px caption= fullname= altname= nickname= country=BLR formercountry=URS birthdate= birth date and age|1975|04|10 birthplace=Minsk hometown= residence= deathdate= deathplace= height= discipline …   Wikipedia

  • Attaque par force brute — Deep Crack, circuit dédié à l attaque par force brute de DES. L attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Il s agit de tester, une à une, toutes les combinaisons possibles. Cette… …   Wikipédia en Français

  • Boognish — est une fonction de hachage cryptographique conçue par Joan Daemen et al. en 1992. Elle travaille sur des blocs de 32 bits et produit une empreinte ayant une longueur maximale de 160 bits. Paulo Barreto rapporte que Daemen, lors d un échange… …   Wikipédia en Français

  • Construction de Davies-Meyer — Une construction de Davies Meyer (ou fonction de Davies Meyer) est une technique utilisée dans les fonctions de hachage cryptographiques. Elle consiste à effectuer un XOR entre la sortie de la fonction de compression et la sortie de la… …   Wikipédia en Français

  • Construction de Matyas-Meyer-Oseas — Une construction de Matyas Meyer Oseas (ou fonction de Matyas Meyer Oseas) est une technique utilisée dans les fonctions de hachage cryptographiques. Elle sera améliorée par Miyaguchi Preneel. Articles connexes Construction de Merkle Damgård …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”