我想保存数据库的登陆信息,是要可以个性和删除的,所以加密与解密成了问题,我只会MD5,如果用MD5加密数据库密码,就登陆不上了,所以,想请教高手们一个加密与解密的问题,如果数据库密码为1,那个保存在TXT里的要变成乱码等密文,然后,再用一个方法解密本数据,得到原文,要求支持汉字与数字,不能因为汉字就不能解密了啊!

解决方案 »

  1.   

    用非对称的密码,RSA或者AES,.NET就默认提供的。
    MD5我也用过,没试过中文,不过至少英文在登录的时候没有出现过问题我的MD5是这样写的,楼主可以试试:         using System.Security.Cryptography;
            private string MD5It(string source)
            {
                MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
                byte[] str1 = Encoding.UTF8.GetBytes(source);
                byte[] str2 = md5.ComputeHash(str1, 0, str1.Length);
                md5.Clear();
                (md5 as IDisposable).Dispose();
                string Coden = null;
                foreach (byte temp in str2)
                {
                    Coden += temp.ToString("X").PadLeft(2, '0');//把加密后的密文转换成32位十六进制的字符串
                }
                return Coden;//返回结果
            }
      

  2.   

    MD5目前很難解密
    你把MD5加密后的字符存入數據庫,然后登錄時將密碼MD5加密,和數據庫中對比就行了別總想著加密解密,換種思路會很好