頻道欄目
首頁 > 資訊 > 加密解密 > 正文

簡單的MD5密碼加密和解密方法

17-02-28        來源:[db:作者]  
收藏   我要投稿

簡單的MD5密碼加密和解密方法。MD5的算法是不可逆的,MD5被廣泛用于密碼驗證和消息體完整性驗證。
下面的例子用到了密碼加密和登陸時的解密的基本方法。當然這樣很容易被暴力破解,可以做其他改進,如先設計一個足夠復雜的密碼,然后將他的MD5值與原密碼MD5值相加后再求一次MD5值,這樣可以增加破解難度。
簡單示例如下:

[csharp] view plain copy
static void Main(string[] args) 
{ 
 
    Console.WriteLine("input password"); 
    string source = Console.ReadLine(); 
    string hash = GetMd5Hash(source); 
    Console.WriteLine("password: {0}, MD5 {1}", source, hash); 
    Console.WriteLine("input password"); 
    string psd = Console.ReadLine(); 
    if (VerifyMd5Hash(psd, hash))//驗證成功返回OK 
        Console.WriteLine("OK"); 
    else 
        Console.WriteLine("ERROR"); 
    Console.ReadKey(); 
} 
 
static string GetMd5Hash(string input)//獲取密碼對應的MD5字符串 
{ 
    using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider()) 
    { 
        return BitConverter.ToString(md5.ComputeHash 
            (UTF8Encoding.Default.GetBytes(input))).Replace("-", ""); 
    } 
} 
 
static bool VerifyMd5Hash(string input, string Hash)//比較輸入密碼 
{ 
    string hashOfInput = GetMd5Hash(input); 
   // StringComparer comparer = StringComparer.OrdinalIgnoreCase;//忽略大小寫的比較器 
    return hashOfInput.CompareTo(Hash) == 0 ? true : false; 
   // return comparer.Compare(hashOfInput, Hash) == 0 ? true : false; 

 

相關TAG標簽
上一篇:臺積電:絕大多數7nm客戶都會轉向6nm_IT新聞_博客園
下一篇:最后一頁
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片