2012-11-11 2 views
20

J'ai créé une protection pour mes pages web avec apache2 dans ubuntu. Maintenant, je crée une application en C++ et je veux qu'elle utilise le même fichier que Apache2 utilise pour l'authentification, mais mon problème est que je ne sais pas comment décrypter le mot de passe généré par apache2. (Peut-être que j'ai besoin d'une clé qui est utilisée pour le chiffrement).Déchiffrer le mot de passe créé avec htpasswd

Merci.

Répondre

37

Les entrées .htpasswd sont HASHES. Ils ne sont pas des mots de passe cryptés. Les hachages sont conçus pour ne pas être déchiffrables. Par conséquent, il n'y a aucun moyen (à moins que vous soyez brutforce pour un temps loooong) d'obtenir le mot de passe du fichier .htpasswd.

Ce que vous devez faire est d'appliquer le même algorithme de hachage au mot de passe qui vous est fourni et de le comparer au hachage du fichier .htpasswd. Si l'utilisateur et le hash sont les mêmes, alors vous êtes prêt.

+0

Je comprends. Mais qu'est-ce qu'il fait apache2 quand je m'authentifie sur la page web? – Mils

+3

@Mils: Il hache le mot de passe que vous soumettez et compare les valeurs de hachage. –

+4

Apache prend le mot de passe fourni, le hache et compare le nom d'utilisateur fourni et le hachage généré à l'entrée du nom d'utilisateur (s'il existe) dans le fichier .htpasswd. S'ils correspondent, l'utilisateur est autorisé. –

Questions connexes