Maison  >  Article  >  développement back-end  >  Quelles sont les méthodes de cryptage couramment utilisées en php ?

Quelles sont les méthodes de cryptage couramment utilisées en php ?

青灯夜游
青灯夜游original
2021-03-26 11:42:266614parcourir

Les méthodes de cryptage couramment utilisées en PHP sont : 1. Utilisez la fonction md5() ; 2. Utilisez la fonction crypt() ; 3. Utilisez la fonction sha1() ; 5. Utilisez la fonction base64_encode() ; 6. Utilisez la fonction password_hash().

Quelles sont les méthodes de cryptage couramment utilisées en php ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Méthode de cryptage PHP couramment utilisée

1 Cryptage MD5

string md5 ( string $str [, bool $raw_output = false ] )

paramètres

  • str -- Chaîne d'origine.

  • raw_output -- Si le raw_output facultatif est défini sur TRUE, le résumé du message MD5 sera renvoyé au format binaire brut d'une longueur de 16 octets. Chaîne de hachage de cryptage Crype.

    string crypt ( string $str [, string $salt ] )
    Paramètres

str -- La chaîne à hacher.

sel -- Chaîne de valeur de sel facultative. S'il n'est pas fourni, le comportement de l'algorithme sera déterminé par différentes implémentations d'algorithme et peut conduire à des fins imprévisibles.

    Il s'agit également d'un cryptage irréversible
  • 3 cryptage Sha1
  • string sha1 ( string $str [, bool $raw_output = false ] )
    Paramètres

str -- Chaîne d'entrée.


raw_output -- Si le paramètre facultatif raw_output est défini sur TRUE, le résumé sha1 sera renvoyé au format brut avec une longueur de 20 caractères, sinon la valeur de retour sera un 40- caractère seizième Numéros de base.


Il s'agit également d'un cryptage irréversible
  • 4. Cryptage d'URL

string urlencode ( string $str )
  • Cette fonction est pratique pour encoder des chaînes et les utiliser. ceci pour la partie requête de l'URL, et cela facilite également la transmission de variables à la page suivante.

    Renvoie une chaîne. Tous les caractères non alphanumériques de cette chaîne, à l'exception de -_, seront remplacés par un signe de pourcentage (%) suivi de deux chiffres hexadécimaux. Cet encodage est le même que l'encodage des données POST du formulaire WWW et le même encodage que le type de média application/x-www-form-urlencoded. Pour des raisons historiques, ce codage diffère du codage RFC1738 dans les espaces de codage sous la forme de signes plus (+).
  • string urldecode ( string $str )
    Décode n'importe quel %## dans la chaîne codée donnée. Le signe plus (« + ») est décodé en un caractère espace.

    Il s'agit d'un cryptage réversible, la méthode urlencode est utilisée pour le cryptage et la méthode urldecode est utilisée pour le décryptage

    5. 🎜>

    string base64_encode ( string $data )
    Utilisez base64 pour encoder les données.

    Cet encodage est conçu pour permettre la transmission de données binaires sur des couches de transport non pures de 8 bits, comme le corps d'un e-mail.

    Les données codées en Base64 occupent environ 33 % d'espace en plus que les données d'origine.

    string base64_decode ( string $data [, bool $strict = false ] )
    Décoder les données codées en base64.

    Paramètres


    données -- Données codées.

    strict -- Renvoie FALSE si les données d'entrée dépassent l'alphabet base64.

    6.phpass (recommandé)

      Testé avec phpass 0.3, un moyen standard de protéger les mots de passe des utilisateurs en les hachant avant de les stocker dans le base de données. De nombreux algorithmes de hachage couramment utilisés, tels que md5 et même sha1, ne sont pas sécurisés pour le stockage des mots de passe, car les pirates peuvent facilement déchiffrer les mots de passe à l'aide de ces algorithmes.
    • Le moyen le plus sûr de hacher des mots de passe est d'utiliser l'algorithme bcrypt. La bibliothèque phpass open source fournit cette fonction dans une classe facile à utiliser

    • 7. Je pense personnellement à une meilleure méthode de cryptage des mots de passe

    • PHP5.5 introduit le hachage de mot de passe. function , le noyau est livré sans qu’il soit nécessaire d’installer des extensions. Il est possible de le tester sous PHP5.4. Il est préférable de confirmer si votre environnement actuel supporte ces fonctions avant de l'utiliser.

    Password Hashing fournit principalement 4 fonctions

    //1.查看哈希值的相关信息
    array password_get_info (string $hash)
     
    //2.创建hash密码
    string password_hash(string $password , integer $algo [, array $options ])
    
    //3.判断hash密码是否特定选项、算法所创建
    boolean password_needs_rehash (string $hash , integer $algo [, array $options ] 
    
    //4.验证密码
    boolean password_verify (string $password , string $hash)
    Les exemples suivants :

    $password = 'password123456';//原始密码
    $hash_password = password_hash($password, PASSWORD_BCRYPT);//使用BCRYPT算法加密密码
    if (password_verify($password , $hash_password)){
       echo "密码匹配";
    }else{  
       echo "密码错误";
    }

    Apprentissage recommandé : "

    Tutoriel vidéo PHP

    "

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn