J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de
caractères, y compris des espaces, des accents, des caractères unicode, des
caractères réservés comme * et ?)
J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont
le nom sera "calculé" à partir de la chaîne aléatoire.
Il me faut une bijection entre le nom du fichier et la chaîne, parce que je
dois pouvoir retrouver l'un à partir de l'autre.
Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il
faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl
(pas trop de trucs cpan à ajouter)
--
Paul
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
paul POULAIN
mon problème est bijectif (ie : 1 chaîne origine = 1 nom de fichier. 1 nom de fichier=1 chaîne origine). Mais je n'ai PAS besoin de retrouver la chaîne d'origine à partir du nom du fichier. Uniquement le nom du fichier à partir de la chaîne d'origine. -- Paul
mon problème est bijectif (ie : 1 chaîne origine = 1 nom de fichier. 1 nom
de fichier=1 chaîne origine).
Mais je n'ai PAS besoin de retrouver la chaîne d'origine à partir du nom du
fichier. Uniquement le nom du fichier à partir de la chaîne d'origine.
--
Paul
mon problème est bijectif (ie : 1 chaîne origine = 1 nom de fichier. 1 nom de fichier=1 chaîne origine). Mais je n'ai PAS besoin de retrouver la chaîne d'origine à partir du nom du fichier. Uniquement le nom du fichier à partir de la chaîne d'origine. -- Paul
Vincent Lefevre
Dans l'article <f1rv6m$1pr3$, paul POULAIN écrit:
mon problème est bijectif (ie : 1 chaîne origine = 1 nom de fichier. 1 nom de fichier=1 chaîne origine). Mais je n'ai PAS besoin de retrouver la chaîne d'origine à partir du nom du fichier. Uniquement le nom du fichier à partir de la chaîne d'origine.
Dans ce cas, le MD5 fait l'affaire (module Digest::MD5). Une collision est peu probable (mais attention, on sait en fabriquer, au cas où la chaîne viendrait de l'extérieur).
Dans l'article <f1rv6m$1pr3$1@biggoron.nerim.net>,
paul POULAIN <paul.poulain_nospam@free.fr.invalid> écrit:
mon problème est bijectif (ie : 1 chaîne origine = 1 nom de fichier. 1 nom
de fichier=1 chaîne origine).
Mais je n'ai PAS besoin de retrouver la chaîne d'origine à partir du nom du
fichier. Uniquement le nom du fichier à partir de la chaîne d'origine.
Dans ce cas, le MD5 fait l'affaire (module Digest::MD5). Une collision
est peu probable (mais attention, on sait en fabriquer, au cas où la
chaîne viendrait de l'extérieur).
mon problème est bijectif (ie : 1 chaîne origine = 1 nom de fichier. 1 nom de fichier=1 chaîne origine). Mais je n'ai PAS besoin de retrouver la chaîne d'origine à partir du nom du fichier. Uniquement le nom du fichier à partir de la chaîne d'origine.
Dans ce cas, le MD5 fait l'affaire (module Digest::MD5). Une collision est peu probable (mais attention, on sait en fabriquer, au cas où la chaîne viendrait de l'extérieur).
J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de caractères, y compris des espaces, des accents, des caractères unicode, des caractères réservés comme * et ?) J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont le nom sera "calculé" à partir de la chaîne aléatoire. Il me faut une bijection entre le nom du fichier et la chaîne, parce que je dois pouvoir retrouver l'un à partir de l'autre. Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl (pas trop de trucs cpan à ajouter)
Euh, juste une question: est-ce que tu es vraiment sûr de devoir changer le nom du fichier? Parce que si c'est pour s'en reservir avec Perl, ça ne devrait pas poser de problème.
-- mirod
paul POULAIN wrote:
Bonjour,
J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de
caractères, y compris des espaces, des accents, des caractères unicode, des
caractères réservés comme * et ?)
J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont
le nom sera "calculé" à partir de la chaîne aléatoire.
Il me faut une bijection entre le nom du fichier et la chaîne, parce que je
dois pouvoir retrouver l'un à partir de l'autre.
Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il
faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl
(pas trop de trucs cpan à ajouter)
Euh, juste une question: est-ce que tu es vraiment sûr de devoir changer
le nom du fichier? Parce que si c'est pour s'en reservir avec Perl, ça
ne devrait pas poser de problème.
J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de caractères, y compris des espaces, des accents, des caractères unicode, des caractères réservés comme * et ?) J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont le nom sera "calculé" à partir de la chaîne aléatoire. Il me faut une bijection entre le nom du fichier et la chaîne, parce que je dois pouvoir retrouver l'un à partir de l'autre. Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl (pas trop de trucs cpan à ajouter)
Euh, juste une question: est-ce que tu es vraiment sûr de devoir changer le nom du fichier? Parce que si c'est pour s'en reservir avec Perl, ça ne devrait pas poser de problème.
-- mirod
paul POULAIN
mirod wrote:
Euh, juste une question: est-ce que tu es vraiment sûr de devoir changer le nom du fichier? Parce que si c'est pour s'en reservir avec Perl, ça ne devrait pas poser de problème.
Non, du tout. Mais je veux un truc multi-plateforme, et comme la chaîne
d'origine peut contenir des tas de trucs exotiques, je m'en voudrais d'avoir des problèmes dans certains cas. Déjà, je viens de voir/découvrir qu'avec md5_base64, on peut avoir des /, ce qui pose problème à la création du fichier, puisque du coup, il essaye d'ouvrir un sous répertoire qui n'existe pas. Il peut aussi y avoir des +, qui pourraient poser problème dans certains cas j'imagine.
Bref, si qqn a une transformation qui aboutisse à des lettres ou des chiffres, sans autre truc exotique, je suis preneur. -- Paul
mirod wrote:
Euh, juste une question: est-ce que tu es vraiment sûr de devoir changer
le nom du fichier? Parce que si c'est pour s'en reservir avec Perl, ça
ne devrait pas poser de problème.
Non, du tout. Mais je veux un truc multi-plateforme, et comme la chaîne
d'origine peut contenir des tas de trucs exotiques, je m'en voudrais
d'avoir des problèmes dans certains cas.
Déjà, je viens de voir/découvrir qu'avec md5_base64, on peut avoir des /, ce
qui pose problème à la création du fichier, puisque du coup, il essaye
d'ouvrir un sous répertoire qui n'existe pas. Il peut aussi y avoir des +,
qui pourraient poser problème dans certains cas j'imagine.
Bref, si qqn a une transformation qui aboutisse à des lettres ou des
chiffres, sans autre truc exotique, je suis preneur.
--
Paul
Euh, juste une question: est-ce que tu es vraiment sûr de devoir changer le nom du fichier? Parce que si c'est pour s'en reservir avec Perl, ça ne devrait pas poser de problème.
Non, du tout. Mais je veux un truc multi-plateforme, et comme la chaîne
d'origine peut contenir des tas de trucs exotiques, je m'en voudrais d'avoir des problèmes dans certains cas. Déjà, je viens de voir/découvrir qu'avec md5_base64, on peut avoir des /, ce qui pose problème à la création du fichier, puisque du coup, il essaye d'ouvrir un sous répertoire qui n'existe pas. Il peut aussi y avoir des +, qui pourraient poser problème dans certains cas j'imagine.
Bref, si qqn a une transformation qui aboutisse à des lettres ou des chiffres, sans autre truc exotique, je suis preneur. -- Paul
Stephane Chazelas
2007-05-09, 09:57(+02), paul POULAIN:
Bonjour,
J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de caractères, y compris des espaces, des accents, des caractères unicode, des caractères réservés comme * et ?) J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont le nom sera "calculé" à partir de la chaîne aléatoire. Il me faut une bijection entre le nom du fichier et la chaîne, parce que je dois pouvoir retrouver l'un à partir de l'autre. Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl (pas trop de trucs cpan à ajouter)
Pourquoi pas un simple URL-encoding (é -> %E9 ou %C3%A9 si utf8).
avec md5, tu ne pourras pas retrouver la chaine a partir de la sum.
Attention aussi, la plupart des systemes de fichiers ont une restriction sur la longueur du nom du fichier.
-- Stéphane
2007-05-09, 09:57(+02), paul POULAIN:
Bonjour,
J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de
caractères, y compris des espaces, des accents, des caractères unicode, des
caractères réservés comme * et ?)
J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont
le nom sera "calculé" à partir de la chaîne aléatoire.
Il me faut une bijection entre le nom du fichier et la chaîne, parce que je
dois pouvoir retrouver l'un à partir de l'autre.
Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il
faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl
(pas trop de trucs cpan à ajouter)
Pourquoi pas un simple URL-encoding (é -> %E9 ou %C3%A9 si
utf8).
avec md5, tu ne pourras pas retrouver la chaine a partir de la
sum.
Attention aussi, la plupart des systemes de fichiers ont une
restriction sur la longueur du nom du fichier.
J'ai une chaîne "aléatoire" (pouvant contenir n'importe quelle suite de caractères, y compris des espaces, des accents, des caractères unicode, des caractères réservés comme * et ?) J'ai besoin de sauvegarder le résultat d'un traitement sur un fichier dont le nom sera "calculé" à partir de la chaîne aléatoire. Il me faut une bijection entre le nom du fichier et la chaîne, parce que je dois pouvoir retrouver l'un à partir de l'autre. Qu'utiliser pour résoudre mon problème ? qqc du genre md5sum pourrait-il faire l'affaire ? autre chose ?
Dans l'idéal, ca n'utiliserait que des modules fournis en standard avec Perl (pas trop de trucs cpan à ajouter)
Pourquoi pas un simple URL-encoding (é -> %E9 ou %C3%A9 si utf8).
avec md5, tu ne pourras pas retrouver la chaine a partir de la sum.
Attention aussi, la plupart des systemes de fichiers ont une restriction sur la longueur du nom du fichier.
-- Stéphane
Vincent Lefevre
Dans l'article <f1sj3t$2172$, paul POULAIN écrit:
Déjà, je viens de voir/découvrir qu'avec md5_base64, on peut avoir des /, ce qui pose problème à la création du fichier, puisque du coup, il essaye d'ouvrir un sous répertoire qui n'existe pas. Il peut aussi y avoir des +, qui pourraient poser problème dans certains cas j'imagine.
MD5 avec sortie en hexa, il n'y a pas ce genre de problème. Cf le module que j'ai indiqué.
Dans l'article <f1sj3t$2172$1@biggoron.nerim.net>,
paul POULAIN <paul.poulain_nospam@free.fr.invalid> écrit:
Déjà, je viens de voir/découvrir qu'avec md5_base64, on peut avoir
des /, ce qui pose problème à la création du fichier, puisque du
coup, il essaye d'ouvrir un sous répertoire qui n'existe pas. Il
peut aussi y avoir des +, qui pourraient poser problème dans
certains cas j'imagine.
MD5 avec sortie en hexa, il n'y a pas ce genre de problème.
Cf le module que j'ai indiqué.
Déjà, je viens de voir/découvrir qu'avec md5_base64, on peut avoir des /, ce qui pose problème à la création du fichier, puisque du coup, il essaye d'ouvrir un sous répertoire qui n'existe pas. Il peut aussi y avoir des +, qui pourraient poser problème dans certains cas j'imagine.
MD5 avec sortie en hexa, il n'y a pas ce genre de problème. Cf le module que j'ai indiqué.