Maison  >  Article  >  développement back-end  >  Mot de passe de la base de données ASP.NET : explication détaillée de l'algorithme de chiffrement MD5

Mot de passe de la base de données ASP.NET : explication détaillée de l'algorithme de chiffrement MD5

Hello World!
Hello World!original
2020-04-28 17:27:032781parcourir

Dans le processus de développement logiciel, le stockage d'informations clés telles que les mots de passe des utilisateurs sera inévitablement impliqué. Dans la plupart des cas, le mot de passe de l'utilisateur est stocké dans la base de données. Si vous n'ajoutez aucune mesure de confidentialité et que vous l'enregistrez directement en texte brut, cela entraînera facilement une fuite des informations personnelles des utilisateurs, entraînant des pertes imprévisibles pour les entreprises et les utilisateurs.

Actuellement, il existe de nombreux algorithmes de stockage de cryptage de mot de passe couramment utilisés, tels que : MD5, 3DES, AES, SHA1, etc.

Aujourd'hui, nous présenterons principalement l'algorithme de cryptage MD5.

Mot de passe de la base de données ASP.NET : explication détaillée de lalgorithme de chiffrement MD5

Qu'est-ce que l'algorithme MD5 ? Les groupes sont utilisés pour traiter les informations d'entrée, et chaque groupe est divisé en 16 sous-groupes de 32 bits après une série. De traitement, la sortie de l'algorithme est concaténée par quatre groupes de 32 bits pour générer une valeur de hachage de 128 bits.

Utilisez ASP.NET pour crypter la valeur du champ de mot de passe Le code est le suivant :

using System.Security.Cryptograhoy;//引入MD5加密命名空间
public string GetMD5(string strPwd)
{
    //将要加密的字符串加上前缀与后缀后再加密
    string cl = DateTime.Now.Month + strPwd + DateTime.Now.Day;
    string pwd = "";
    //实例化一个MD5对象
    MD5 md5 = MD5.Create();
    //加密后是一个字节类型的数组,要注意编码UTF8/Unicode等的选择
    byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
    //翻转生成的MD5码
    s.Reverse();
    //通过循环,将字节类型的数组转换为字符串
    //只取MD5码的一部分,这样恶意访问者无法知道取的是哪几位
    for(int i = 3;i < s.Length-1; i++)
    {
        //将得到的字符串使用十六进制类型格式化。格式化后的字符是小写的字母,如果使用大写(X),则格式化后的字符是大写字母
        //进一步对生成的MD5码做一些改造
        pwd = pwd + (s[i] < 198 ? s[i] + 28 : s[i]).ToString("X");
    }
    return pwd;
}
Remarque

Si. vous utilisez simplement MD5. La valeur de hachage générée par l'algorithme peut être déchiffrée. Par conséquent, dans le processus de développement actuel, nous devons utiliser l'algorithme MD5 combiné à l'algorithme salt pour générer une chaîne cryptée qui ne peut pas être déchiffrée.

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