Maison développement back-end tutoriel php Analyse de l'algorithme de cryptage du mot de passe utilisateur PHP

Analyse de l'algorithme de cryptage du mot de passe utilisateur PHP

May 28, 2018 am 11:50 AM
php 算法 解析

Les

Les algorithmes de chiffrement courants peuvent être divisés en trois catégories : les algorithmes de chiffrement symétriques, les algorithmes de chiffrement asymétriques et les algorithmes de Hash. Le

Le chiffrement symétrique

fait référence à un algorithme de chiffrement qui utilise la même clé pour le chiffrement et le déchiffrement. Les avantages des algorithmes de chiffrement symétrique résident dans la vitesse élevée de chiffrement et de décryptage et dans la difficulté de crackage lors de l'utilisation de clés longues. En supposant que deux utilisateurs doivent utiliser une méthode de chiffrement symétrique pour chiffrer puis échanger des données, les utilisateurs ont besoin d'au moins 2 clés et les échangent. S'il y a n utilisateurs dans l'entreprise, l'entreprise entière aura besoin d'un total de n × (n-). 1) clés La génération et la distribution de clés deviendront un cauchemar pour les services d'information des entreprises. La sécurité de l'algorithme de chiffrement symétrique dépend du stockage de la clé de chiffrement, mais il est impossible d'exiger que toutes les personnes dans l'entreprise qui détiennent la clé la gardent secrète, intentionnellement ou non. . Fuite - Si la clé utilisée par un utilisateur est obtenue par un intrus, l'intrus peut lire tous les documents cryptés par la clé de l'utilisateur. Si l'ensemble de l'entreprise partage une clé de cryptage, la confidentialité de l'ensemble des documents de l'entreprise sera perdue. à propos de.

Algorithmes de chiffrement symétriques courants : DES, 3DES, DESX, Blowfish, IDEA, RC4, RC5, RC6 et AES

Cet article présente principalement plus en détail l'algorithme de chiffrement du mot de passe utilisateur PHP Le principe de l'algorithme de cryptage Discuz est analysé et la méthode d'implémentation de l'algorithme .net est comparée à l'exemple de formulaire, et le processus et la méthode d'implémentation du cryptage utilisateur en PHP sont résumés. Les amis dans le besoin peuvent se référer au mot de passe de

<.>

Discuz L'algorithme de cryptage est en fait deux cryptages MD5. Tout d'abord, cryptez avec du texte brut, puis générez aléatoirement un sel, puis ajoutez du sel après le premier texte chiffré en texte brut et effectuez à nouveau le cryptage MD5. Le sel est stocké dans la table uc_members et peut être obtenu par nom d'utilisateur.

Comme ceci :

MD5(MD5(plaintext)+salt)

Ce qui suit est le code d'implémentation de . net :

string GetDiscuzPWString(string sourceStr, string salt)
{
   return GetMd5Hash(string.Concat(GetMd5Hash(sourceStr),salt));
}
string GetMd5Hash(string input)
{
  MD5 md5Hasher = MD5.Create();
  byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  StringBuilder sBuilder = new StringBuilder();
  for (int i = 0; i &lt; data.Length; i++)
  {
    sBuilder.Append(data[i].ToString(&quot;x2&quot;));
  }
  return sBuilder.ToString();
}
Copier après la connexion

Résumé des méthodes de jugement de mot de passe :

① Pour

installer UC

② Ouvrez la base de données et trouvez la table uc_members, recherchez le dernier champ "salt" et copiez la valeur à l'intérieur

③ Pseudo code :

$s=md5(md5(&quot;密码&quot;).&quot;salt字段的值&quot;);
echo $s;
Copier après la connexion
④ Utilisez IF pour juger

⑤ Dites-le encore! Ce nombre aléatoire est composé de 6 chiffres !

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 de ce site Web
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Date et heure de CakePHP

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Téléchargement de fichiers CakePHP

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Routage CakePHP

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Configuration du projet CakePHP

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

Discuter de CakePHP

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

Guide rapide CakePHP

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

See all articles