cryptage sha1

Le
Pascal Bourdais
Bonjour,

Je réécris en php un script d'ajout d'utilisteur dans une base LDAP
en vue de l'utilisation par samba (les smbtools ne suffisent pas pour
plein de raisons).

J'en suis aux algo de cryptage des différents mots de passe :
sambaLMPassword, sambaNTPassword, userPassword

Mon script existait en shell et, pour les mots de passe, j'utilisais du
perl (ntlmgen) pour samba, et slappasswd pour usrPassword.

Dans php, j'ai essayé la fonction sha1

php -r 'echo "{SHA}" . sha1("toto", FALSE) ."";'
{SHA}0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c

slappasswd -h {SHA} -s toto
{SHA}C5wmJdwh7wX2rU3fR8XyA4N6oyw=

man slappasswd :
<>
-h
{SHA} and {SSHA} use the SHA-1 algorithm (FIPS 160-1), the latter with a seed.
<>

Là, je dubite, sha1 et sha1 sont différents ?

En passant, si quelqu'un sait faire ntlmgen en php

Pascal


--
La bonne santé n'est que la plus lente des façons de mourir. (Coluche)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas Bouthors
Le #16682061
Pascal Bourdais nous disait :
php -r 'echo "{SHA}" . sha1("toto", FALSE) ."n";'
{SHA}0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c



^^
Représentation du nombre issu de SHA en HEXA

slappasswd -h {SHA} -s toto
{SHA}C5wmJdwh7wX2rU3fR8XyA4N6oyw


^^
Représentation du nombre issu de SHA en BASE64

--
Nicolas - 06 20 71 62 34 - http://nicolas.bouthors.org/album/
Pascal Bourdais
Le #16688321
Le 31 Aug 2008 17:59:31 GMT, Nicolas Bouthors a écrit:
Pascal Bourdais nous disait :
php -r 'echo "{SHA}" . sha1("toto", FALSE) ."n";'
{SHA}0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c



^^
Représentation du nombre issu de SHA en HEXA

slappasswd -h {SHA} -s toto
{SHA}C5wmJdwh7wX2rU3fR8XyA4N6oyw >


^^
Représentation du nombre issu de SHA en BASE64




C'est bien ce que je pensais, je suis nul en crypto et codage.
merci

PB
Matthieu Moy
Le #16690271
Pascal Bourdais
C'est bien ce que je pensais, je suis nul en crypto et codage.



Bah, pour coder un grand nombre, tu as plusieurs choix :

* Coder en binaire : séquence d'octets de 0 à 255.
Ça donne un truc compact mais illisible à l'écran.

* Coder en hexa : un octet représente un nombre de 0 à 15.
Il faut deux chiffres hexa pour coder un « octet ».

* Base64 : c'est un truc un peu intermédiaire, on utilise plus que
0-9a-f, mais on n'utilise quand même que des caractères imprimables.

--
Matthieu
Thierry B\.
Le #16693071
--{ Matthieu Moy a plopé ceci: }--

* Coder en hexa : un octet représente un nombre de 0 à 15.



REDO FROM START

--
« Et s'il refuse d'apprendre à pêcher et que les poissons que tu
lui proposes ne lui conviennent pas, attends que la faim le fasse
changer d'avis... »
--{ PG, dans fr.comp.text.tex }--
Matthieu Moy
Le #16711721
"Thierry B."
--{ Matthieu Moy a plopé ceci: }--

* Coder en hexa : un octet représente un nombre de 0 à 15.



REDO FROM START



Tu peux développer ?

--
Matthieu
Olivier Miakinen
Le #16712201
Le 04/09/2008 00:02, Matthieu Moy a écrit :

* Coder en hexa : un octet représente un nombre de 0 à 15.



REDO FROM START



Tu peux développer ?



Je pense que Thierry n'a pas compris ce que tu voulais dire par « un
octet représente un nombre de 0 à 15 ». Note que la formulation n'est
pas à mon avis la plus heureuse, et que tu aurais pu écrire plutôt
« un octet représente un chiffre hexa, de '0' à '9' ou de 'A' à 'F' ».
Thierry B\.
Le #16713761
--{ Matthieu Moy a plopé ceci: }--

* Coder en hexa : un octet représente un nombre de 0 à 15.



REDO FROM START



Tu peux développer ?



Un octet représente un nombre entre 0 et 255.

--
Enhance your /karma/: use a _free_ operating system *NOW*
Matthieu Moy
Le #16717751
"Thierry B."
--{ Matthieu Moy a plopé ceci: }--

* Coder en hexa : un octet représente un nombre de 0 à 15.



REDO FROM START



Tu peux développer ?



Un octet représente un nombre entre 0 et 255.



Il fallait lire la ligne en entier, elle commençait par « Coder en
Hexa ».

Un peu plus haut dans le thread, on lit :

| php -r 'echo "{SHA}" . sha1("toto", FALSE) ."n";'
| {SHA}0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c
|
| slappasswd -h {SHA} -s toto
| {SHA}C5wmJdwh7wX2rU3fR8XyA4N6oyw
Et dans le codage sha1, si tu vois des octets qui représentent des
nombres de 0 à 255, je suis intéressé par ton explication.

--
Matthieu
Sylvain SF
Le #16724171
Matthieu Moy wrote on 04/09/2008 18:20:

Il fallait lire la ligne en entier, elle commençait par « Coder en
Hexa ».



lorsque l'on lit "en entier" on ne trouve que des approximations:

Coder en binaire : séquence d'octets de 0 à 255.





le binaire c'est 0 ou 1, donc on obtient une sequence de bits.

Ça donne un truc compact mais illisible à l'écran.





un "truc" c'est pas très précis ça, mais pour le coup c'est
le moins compact possible.

Coder en hexa : un octet représente un nombre de 0 à 15.





non, c'est un nibble qui code un nombre entre 0 et 15 (décimal).

Base64 : c'est un truc un peu intermédiaire





un "truc" comme l'autre "truc" ou un autre "truc" ?

on utilise plus que 0-9a-f, mais on n'utilise quand même que des
caractères imprimables.





là vous confondez répresentation (comme binaire, octal, décimal,
héxadécimal) et encodage (dont base64).
on utilise que des caractères imprimables, en effet, c'est même
fait pour.

Sylvain.
noSpam
Le #16724181
"Matthieu Moy" de news:
"Thierry B."
Il fallait lire la ligne en entier, elle commençait par « Coder en
Hexa ».



lorsque l'on lit "en entier" on ne trouve que des approximations:

Coder en binaire : séquence d'octets de 0 à 255.



le binaire c'est 0 ou 1, donc on obtient une sequence de bits.

Ça donne un truc compact mais illisible à l'écran.



un "truc" c'est pas très précis ça, mais pour le coup c'est
le moins compact possible.

Coder en hexa : un octet représente un nombre de 0 à 15.



non, c'est un nibble qui code un nombre entre 0 et 15 (décimal).

Base64 : c'est un truc un peu intermédiaire



un "truc" comme l'autre "truc" ou un autre "truc" ?

on utilise plus que 0-9a-f, mais on n'utilise quand même que des
caractères imprimables.



là vous confondez répresentation (comme binaire, octal, décimal,
héxadécimal) et encodage (dont base64).
on utilise que des caractères imprimables, en effet, c'est même
fait pour.
Publicité
Poster une réponse
Anonyme