程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 小白C#窗體系列-06.MD5系列加密小工具,

小白C#窗體系列-06.MD5系列加密小工具,

編輯:C#入門知識

小白C#窗體系列-06.MD5系列加密小工具,


加密解密從XX幾百萬用戶信息洩露開始就已經得到重視,這兩年就跟牛了,其實加密並不是什麼雜七雜八的,一個思路就能得到強有利的密文,當你的數據庫被黑客竊走時你強大的加密就會耗上黑客很多時間,這就為你拯救網站拯救服務器留下了很大的空間,進幾年MD5非常火,後來XMD5也慢慢流行起來了各種變態的加密方式湧了上了,逆天今天給大家提供幾個很簡單很簡單的思路(就是這簡單的思路讓很多解密網站都崩潰了。。。)
 

為了滿足站長的需求,把變異型的再次md5了一下,產生固定位數的密文 加之與國際接軌和資源節省的需求,1.01版本就這樣誕生了  【更新】1.01下載(4.0框架)http://pan.baidu.com/s/1gdvfXkR 【源碼看下面】    軟件下載(.NET 4.0 框架)http://pan.baidu.com/s/1kT5LvCF 【源碼看下面】 秒殺所有主流反md5的網站 下面變異MD5逆天密文我就不高興再試了 。。。等等。。。   一、設計圖紙:(更多在於思路) 二、代碼分析:
1、32位MD5加密:   if (!string.IsNullOrEmpty(inputTxt.Text))     {         MD5 md5 = MD5.Create();  //MD5是抽象類,不能被實例化,通過Create()靜態方法來創建對象                  byte[] buffer = Encoding.Default.GetBytes(inputTxt.Text); //把要轉換的文本以默認編碼格式轉成buffer[]                  byte[] bufferMd5 = md5.ComputeHash(buffer); //轉好了                  StringBuilder sbMd5 = new StringBuilder(); //考慮到內存等因素我就用stringbuilder了                  for (int i = 0; i < bufferMd5.Length; i++)         {             sbMd5.Append(bufferMd5[i].ToString("x2"));//正宗MD5 32位         }                  MD5Txt.Text = sbMd5.ToString();     }   2、MD5 32位加強型:   if (!string.IsNullOrEmpty(inputTxt.Text))     {         MD5 md5 = MD5.Create();                  byte[] buffer = Encoding.Default.GetBytes(inputTxt.Text);                          byte[] bufferMd5 = md5.ComputeHash(buffer);                          StringBuilder sbMd5 = new StringBuilder();                          for (int i = bufferMd5.Length-1; i >=0 ; i--)  //就這個地方不一樣,逆序轉換一下[一個思路而已]         {             sbMd5.Append(bufferMd5[i].ToString("x2"));         }             MD5Txt2.Text = sbMd5.ToString();     }   3、MD5 32位變異型:   if (!string.IsNullOrEmpty(inputTxt.Text))     {         MD5 md5 = MD5.Create();                  byte[] buffer = Encoding.Default.GetBytes(inputTxt.Text);                  byte[] bufferMd5 = md5.ComputeHash(buffer);                  StringBuilder sbMd5 = new StringBuilder();                          for (int i = bufferMd5.Length - 1; i >= 0; i--)                            {             int x = int.Parse(bufferMd5[i].ToString());  //先轉int                                  x -=1 ;         //給它來個擴充                                  sbMd5.Append(x.ToString("x2"));         }             MD5Txt3.Text = sbMd5.ToString();     }   4、有思路就可擴展:  提供一個思路路自定義0~9,a-Z代表的意義,然後再轉md5(md5(md5($pass))) 等等。。。           有思路就可以不斷簡化代碼,那些需要幾千行死代碼實現的東西,一個思路往往都只需要幾百行代碼就O了,而且效率更高!不管是學編程還是學滲透還是學破解等,思路很重要!   三、源碼分享: 1.0版本源碼分享:http://pan.baidu.com/s/1pJLmraj         1.01版本源碼分享:http://pan.baidu.com/s/1hqEaQ0W 四、視頻共享: 等~~~       


本期推薦:DNiD.v0.12b(查殼神器)                                                                         下一期:打造自己的C#遠控系列軟件

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved