Objectif du cryptage
Le cryptage est différent du mot de passe. son but est de transformer une information en texte brut (information qui peut être directement lue par des humains ou des machines) en un morceau de caractères qui semble n'avoir aucune signification. L'information doit être reconvertie en une information lisible significative par le biais de pré-. les règles de décryptage convenues peuvent empêcher le vol non autorisé d’informations.
Fonctions de cryptage PHP (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
Les fonctions de cryptage PHP incluent crypt(), md5() et sha1().Parmi eux, crypt() est utilisé pour le cryptage unidirectionnel, ce que l'on appelle le cryptage unidirectionnel signifie qu'une fois le contenu à crypter, le texte chiffré ne peut pas être converti en contenu lisible. l'application du cryptage unidirectionnel La portée est relativement étroite et est généralement utilisée pour l'authentification du nom d'utilisateur et la saisie du mot de passe. Lorsque l'utilisateur entre dans le système, il lui suffit de saisir le mot de passe chiffré une fois que le système a vérifié qu'il est cohérent avec le. mot de passe stocké, il peut passer.
md5() et sha1() appartiennent à l'algorithme de hachage. C'est un algorithme irréversible en interceptant toute information initiale et en la convertissant, le contenu obtenu est la valeur de hachage et la longueur est fixée. De cette façon, même si les informations sont perdues, cela n'a aucun sens d'analyser la valeur de hachage, car elle n'a aucun lien direct avec les informations d'origine, elle a donc une fonction de cryptage puissante. md5() utilise l'algorithme de hachage MD5 pour convertir un message de longueur variable en un résumé de message de 128 bits.
La fonction sha1() utilise l'algorithme de hachage SHA-1, et son principe est similaire à md5().
md5() et sha1() sont souvent utilisés pour vérifier l'intégrité des informations, c'est-à-dire en calculant la valeur de hachage du fichier pour vérifier si le fichier a été modifié, donc deux fonctions sont nécessaires pour hacher en PHP La valeur est calculée à l'aide de md5_file() et sha1_file() Une fois que la valeur de hachage calculée s'avère différente de la valeur d'origine, il peut être déterminé que le fichier a été modifié.
Bien que ces trois fonctions soient simples à utiliser, elles sont toutes irréversibles et ne peuvent pas déchiffrer le texte chiffré ; cependant, dans les travaux de cryptage de niveau supérieur, l'effet de cryptage de ces fonctions de cryptage simples est quelque peu limité.
Le cryptage est toujours indissociable de la sécurité, et chaque PHPer doit intégrer la sécurité des applications dans le code en tant qu'idée de conception nécessaire. Voici quelques suggestions de bonnes pratiques.
N'utilisez pas MD5, n'utilisez pas sha1, en gros, il n'y a aucune difficulté à craquer.
Veuillez utiliser password_hash pour hacher le mot de passe (la version php est supérieure ou égale à 5.5, inférieure à 5.5, veuillez utiliser la bibliothèque password_compat), car la fonction password_hash vous a aidé à gérer le salage et la chaîne aléatoire utilisé car le sel a été chiffré. L'algorithme devient une partie du hachage et la fonction password_verify() extrait automatiquement le sel du hachage, vous n'avez donc pas à vous soucier du stockage du sel.
Pour la signature de l'interface de communication, veuillez utiliser un algorithme asymétrique pour crypter la clé de signature, définir une période de validité pour la clé et la remplacer régulièrement.
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!