OVH Cloud OVH Cloud

Base64: string -> string

8 réponses
Avatar
Rakotomandimby (R12y) Mihamina
Bonjour,

Je cherche à donner des petits exemples tout en bas de cette page
http://www.etud-orleans.fr/Members/mihamina/tutoriels/debian/exim4

J'ai un micro-script en Ruby, un autre en Python et je tiens à donner une
version en Ocaml.

Par contre je ne sais pas comment encoder Base64.
Il y a bien ceci, trouvé avec "encode base64 ocaml" sur google.
(si je n'utilise pas les bon mots clés, dites-moi surtout)
http://bleu.west.spy.net/~dustin/projects/ocaml/doc/Base64.html
Qui ne fait pas partie de la distribution standard...

Mais dans les modules disponibles dans la distribution standard, je n'ai
rien trouvé. La table des matiere du livre que j'ai non plus ne m'a rien
donné. Un petit coup de main?

Merci d'avance. :-)


--
Mirroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

8 réponses

Avatar
Do Re Mi chel La Si Do
Bonsoir !

Tu demandes, sur un groupe Python, un coup de main pour OCaML ?
Bien que le programmation (purement) fonctionnelle prétende éviter les
erreurs de bord, ce message serait-il un contre-exemple ?

@-salutations

Michel Claveau
Avatar
tiissa
Do Re Mi chel La Si Do wrote:
Tu demandes, sur un groupe Python, un coup de main pour OCaML ?


Ce n'est peut-être pas totalement l'endroit, mais il a vraiment besoin
d'un coup de main.

En premier lieu, la page pointée discute d'un changement de
configuration et vise à montrer plusieurs programmes pour le faire.
Indépendamment de l'intérêt discutable de faire plusieurs script de 5
lignes pour faire la même chose, la moindre des choses serait d'en
standardiser l'interface.

Ensuite le but semble d'encoder un mot de passe. Or la solution python
[1] ne convient pas du tout, pour la bonne raison que le mot de passe
est en clair dans le fichier.

Enfin, et je pense que c'est le plus important, les versions actuelles,
ruby et python ne sont pas équivalentes (une au moins n'est donc pas
fonctionnelle).
La première encode la chaine en utilisant la commande crypt, comme les
mots de passe classiques unix.
La seconde encode la chaine en base 64 qui est parfaitement réversible
et donc absolument pas adapté au stockage d'un mot de passe.
Je ne connais pas les fichiers de configuration d'exim4 mais il y a fort
à parier que c'est crypt (et non pas base64 comme la page le prétend)
qui est utilisé.

Pour rester en charte, je conseillerais donc au posteur à l'origine de
ce fil de regarder le module crypt [2] de python et d'essayer de
modifier le script de manière à demander à l'utilisateur de taper son
mot de passe à l'invocation du script [3].


[1] C'est moi qui l'ai posté, certes, mais le but était de montrer
comment faire pour encoder une chaine en base 64, pas d'être un script à
déployer tel quel.

[2] http://python.org/doc/lib/module-crypt.html

[3] Regarder raw_input par exemple :
http://python.org/doc/lib/built-in-funcs.html

Avatar
tiissa
Do Re Mi chel La Si Do wrote:
Tu demandes, sur un groupe Python, un coup de main pour OCaML ?


Ce n'est peut-être pas totalement l'endroit, mais il a vraiment besoin
d'un coup de main.

En premier lieu, la page pointée discute d'un changement de
configuration et vise à montrer plusieurs programmes pour le faire.
Indépendamment de l'intérêt discutable de faire plusieurs script de 5
lignes pour faire la même chose, la moindre des choses serait d'en
standardiser l'interface.

Ensuite le but semble d'encoder un mot de passe. Or la solution python
[1] ne convient pas du tout, pour la bonne raison que le mot de passe
est en clair dans le fichier.

Enfin, et je pense que c'est le plus important, les versions actuelles,
ruby et python ne sont pas équivalentes (une au moins n'est donc pas
fonctionnelle).
La première encode la chaine en utilisant la commande crypt, comme les
mots de passe classiques unix.
La seconde encode la chaine en base 64 qui est parfaitement réversible
et donc absolument pas adapté au stockage d'un mot de passe.
Je ne connais pas les fichiers de configuration d'exim4 mais il y a fort
à parier que c'est crypt (et non pas base64 comme la page le prétend)
qui est utilisé.

Pour rester en charte, je conseillerais donc au posteur à l'origine de
ce fil de regarder le module crypt [2] de python et d'essayer de
modifier le script de manière à demander à l'utilisateur de taper son
mot de passe à l'invocation du script [3].


[1] C'est moi qui l'ai posté, certes, mais le but était de montrer
comment faire pour encoder une chaine en base 64, pas d'être un script à
déployer tel quel.

[2] http://python.org/doc/lib/module-crypt.html

[3] Regarder raw_input par exemple :
http://python.org/doc/lib/built-in-funcs.html

Avatar
tiissa
Do Re Mi chel La Si Do wrote:
Tu demandes, sur un groupe Python, un coup de main pour OCaML ?


Ce n'est peut-être pas totalement l'endroit, mais il a vraiment besoin
d'un coup de main.

En premier lieu, la page pointée discute d'un changement de
configuration et vise à montrer plusieurs programmes pour le faire.
Indépendamment de l'intérêt discutable de faire plusieurs script de 5
lignes pour faire la même chose, la moindre des choses serait d'en
standardiser l'interface.

Ensuite le but semble d'encoder un mot de passe. Or la solution python
[1] ne convient pas du tout, pour la bonne raison que le mot de passe
est en clair dans le fichier.

Enfin, et je pense que c'est le plus important, les versions actuelles,
ruby et python ne sont pas équivalentes (une au moins n'est donc pas
fonctionnelle).
La première encode la chaine en utilisant la commande crypt, comme les
mots de passe classiques unix.
La seconde encode la chaine en base 64 qui est parfaitement réversible
et donc absolument pas adapté au stockage d'un mot de passe.
Je ne connais pas les fichiers de configuration d'exim4 mais il y a fort
à parier que c'est crypt (et non pas base64 comme la page le prétend)
qui est utilisé.

Pour rester en charte, je conseillerais donc au posteur à l'origine de
ce fil de regarder le module crypt [2] de python et d'essayer de
modifier le script de manière à demander à l'utilisateur de taper son
mot de passe à l'invocation du script [3].


[1] C'est moi qui l'ai posté, certes, mais le but était de montrer
comment faire pour encoder une chaine en base 64, pas d'être un script à
déployer tel quel.

[2] http://python.org/doc/lib/module-crypt.html

[3] Regarder raw_input par exemple :
http://python.org/doc/lib/built-in-funcs.html

Avatar
Rakotomandimby (R12y) Mihamina
( Sat, 07 May 2005 23:15:12 +0200 ) Do Re Mi chel La Si Do :

Bonsoir !
Tu demandes, sur un groupe Python, un coup de main pour OCaML ?


Euh. Je m'etais rendu compte de mon erreur, et j'ai cancellé mon message,
mais tu as eu le temps de le lire.

Je suis vraiment desolé.



--
Mirroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
Rakotomandimby (R12y) Mihamina
( Sun, 08 May 2005 00:01:37 +0200 ) tiissa :

Do Re Mi chel La Si Do wrote:
Tu demandes, sur un groupe Python, un coup de main pour OCaML ?
Ce n'est peut-être pas totalement l'endroit, mais il a vraiment besoin

d'un coup de main.


Il ne faut pas etre susceptible hein... ;-) Bon j'ecoute.

En premier lieu, la page pointée discute d'un changement de
configuration et vise à montrer plusieurs programmes pour le faire.
Indépendamment de l'intérêt discutable de faire plusieurs script de 5
lignes pour faire la même chose, la moindre des choses serait d'en
standardiser l'interface.


Pourquoi "la moindre des choses"?
Si j'ai posté plusieurs solution pour faire la meme chose, c'etait pour
démontré au futurs lecteurs qu'on peut faire simple.


Ensuite le but semble d'encoder un mot de passe. Or la solution python
[1] ne convient pas du tout, pour la bonne raison que le mot de passe
est en clair dans le fichier.


Le but etait de fournir une solution pour encoder ce mot de passe. Pour
moi il va de soi que si on encode les mots de passe, c'est pour des
raisons de securité. Le lecteur qui ne comprend pas ca et qui laisse ce
script trainer la ou il ne faut pas, ben il n'a rien compris.

De plus, cette page etait prete a etre publiée depuis fort longtemps, il
me manquait la solution Ocaml et Python. Les chose ayant suffisament
trainé, il me fallait publier ce truc mais lui donner un maximum des
information que j'avais prevu d'y mettre avant de commencer a le rediger.

Enfin, et je pense que c'est le
plus important, les versions actuelles,
ruby et python ne sont pas équivalentes (une au moins n'est donc pas
fonctionnelle).
[...]
Pour rester en charte, je conseillerais donc au posteur à l'origine de
ce fil de regarder le module crypt [2] de python et d'essayer de
modifier le script de manière à demander à l'utilisateur de taper son
mot de passe à l'invocation du script [3].


Voila. C'est cool d'avoir des suggestions comme ca.
La je dois sortir de chez moi et je ne serai de retour que... Lundi soir,
mais une fois rentré je ferais les modification necessaire.

Merci beaucoup.

--
Mirroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)


Avatar
Do Re Mi chel La Si Do
Y'a pas de mal. Pour t'excuser, pourrais-tu nous faire un petit comparatif
Python vs OcaML ? ;o)
Avatar
Rakotomandimby (R12y) Mihamina
( Sun, 08 May 2005 18:53:27 +0200 ) Do Re Mi chel La Si Do :

Pour t'excuser, pourrais-tu nous faire un petit comparatif
Python vs OcaML ? ;o)


Un troll, oui. ;-)

Malheureusement, je ne connais suffisament ni l'un ni l'autre pour pouvoir
les comparer. Je me fais déjà suffisament casser comme ça pour affirmer
des choses pas toujours vraies, je vais pas en rajouter.

Mais pour la petit histoire, il n'y a pas moyen de faire ce que je voulais
faire en moins de 10 lignes dans l'autre langage. Il faut installer un
truc qui n'est pas compris dans la distribution standard. Attention: End
of Troll.

--
Mirroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)