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