IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment crypter ou hasher une chaine en une chaine plus courte ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 204
    Points : 123
    Points
    123
    Par défaut Comment crypter ou hasher une chaine en une chaine plus courte ?
    Bonjour,

    je cherche un moyen en php de crypter ou de hasher une chaine normale en une chaine plus courte,
    et avoir la possibilité de faire l'inverse (retrouver la chaine original à partir de la chaine cryptée ou hashée).

    Par exemple : $string = "Bonjour tout le monde"; et la chaine cryptée (ou hashée) doit être par exemple (je met n'importe quoi) : ez78d

    L'essentiel est que la chaine cryptée/hashée soit plus courte que la chaine originale.

    Ensuite, avoir aussi la possibilité de retrouver la chaine originale, càd "Bonjour tout le monde" à partir de la chaine cryptée/hashée (ez78d).

    base64_encode / base64_decode ne me convient pas car la chaine de sortie en base64 est plus longue que la chaine originale.

    Une idée ? Merci d'avance, cordialement.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Déjà un hash n'est pas réversible.
    Ensuite pour qu'un chiffrement soit plus petit que la donnée d'origine il faudrait qu'il y ait une compression. Et sur une petite chaine, la compression va être très faible.

    Ce que tu demandes, c'est de pouvoir retrouver "bonjour tout le monde" à partir de "bonjo"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    il ne s'agit ici ni de hasher, ni de crypter, mais de généner un code (identifiant) unique permettant de retrouver la chaine (ou quoi que ce soit) d'origine.

    Bref : il faut une TABLE (SQL) permettant de faire le lien entre :
    l'indentifiant (unique) et la chaine (ou quoi que ce soit d'autre) !

    En PHP ,on peut utiliser rand() ou autre uniqid() pour générer un identifiant unique.
    ... ou juste créer une nouvelle entrée dans la TABLE (dont l'id, auto-incrémenté, est forcément unique).

    Puis, récupérer le texte/contenu, à partir de cet id pour l'afficher.

    Voir aussi "raccourcisseur d’url" (même principe)

  4. #4
    Membre à l'essai Avatar de aahmedayed
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    IL faut tout simplement créer votre algorithme de cryptage (une fonction par exemple) mais c'est pas trop sécurisé , y'a pas d'autre moyen car les fonction de cryptage qu'on utilise qui sont prédéfini par PHP sont illisible au Sens inverse

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par aahmedayed Voir le message
    les fonction de cryptage qu'on utilise qui sont prédéfini par PHP sont illisible au Sens inverse
    Ou pas. C'est simplement que ce qu'on utilise en général, ce sont des fonctions de hachage et non de chiffrement.

    Rappel : une fonction de chiffrement est réversible par une procédure de déchiffrement. Une fonction de hachage est irréversible.
    Par exemple, password_​hash est une fonction de hachage, mcrypt_​encrypt est une fonction de chiffrement réversible en utilisant mcrypt_​decrypt.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre à l'essai Avatar de aahmedayed
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Celira Voir le message
    Ou pas. C'est simplement que ce qu'on utilise en général, ce sont des fonctions de hachage et non de chiffrement.
    Merci infiniment Celira pour l information je connais pas trop les fonction de hachage et chiffrement en PHP

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo