小白C#表單系列-08小議Base64+MD5加密

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   os   sp   java   

啥是Base64呢?怎麼說呢,這個加密比較常用,想想迅雷的,想想QQ旋風和快車。他們就是用的這個Base64來加密地址,現在網上很多位址解析器,原理就是反Base64。
        Base64編碼的思想是是採用64個基本的ASCII碼字元對資料進行重新編碼。它將需要編碼的資料拆分成位元組數組。以3個位元組為一組。按順序排列24 位元據,再把這24位元據分成4組,即每組6位。再在每組的的最高位前補兩個0湊足一個位元組。這樣就把一個3位元組為一組的資料重新編碼成了4個位元組。當所要編碼的資料的位元組數不是3的整倍數,也就是說在分組時最後一組不夠3個位元組。這時在最後一組填充1到2個0位元組。並在最後編碼完成後在結尾添加1到2個 “=”。看這個例子(例子)
        逆天只是個小白,小白嘛高深的就不會,就弄弄簡單的咯~就直接用他預設的編碼庫了,就不自己自訂了,如果你想弄弄自訂的就看看上面的例子吧~
        我們進入正題,單獨一個base64沒什麼意思,發個說說就O了,就算對MD5系列加密小工具的拓展吧(當時說的思路拓展),先說下base64怎麼加密和解密吧:     加密:    Convert.ToBase64String(baseBuffer);  //給他一個byte[ ] 返回一個字串       解密:       byte[] buffer = Convert.FromBase64String(txtString.Text); //給他一個字串,返回一個byte[ ]                         是不是無語了,就這麼簡單,其實逆天今天是聽朋友提了一下,Java現在是Base64+MD5結合,我就想了,反正java的都有了,哥也弄個C#版本的(文法上還是有些區別的【目測:Java MD5不要一個一個的ToString("X2");】)。    下面貼個代碼:          public void GetMD5Base(){    MD5 md5 = MD5.Create();        string input = txtString.Text;        byte[] buffer = Encoding.UTF8.GetBytes(input);  //字串轉成byte[ ]數組        byte[] newBuffer = md5.ComputeHash(buffer, 0, buffer.Length);        StringBuilder sb = new StringBuilder();        for (int i = 0; i < newBuffer.Length; i++)    {         sb.Append(newBuffer[i].ToString("X2"));    }        byte[] baseBuffer = Encoding.UTF8.GetBytes(sb.ToString()); //把轉碼後的MD5 32位密文轉成byte[ ]         txtNeed.Text = Convert.ToBase64String(baseBuffer);     //這個要注意,不要在newbuffer就轉,你解密的時候會亂碼(有時候)}  解碼就簡單了:(本程式加密後的密文,在解密時只能得到MD5) public void GetMD5(){    try    {        byte[] buffer = Convert.FromBase64String(txtString.Text);                txtNeed.Text = Encoding.UTF8.GetString(buffer);    }    catch { MessageBox.Show("請輸入正確的Base64碼"); }}  貼個源碼和軟體吧:http://pan.baidu.com/s/1dDjD01z本期推薦:Reflector8.3   Telerik JustDecomp                                                                             下一期:SHA系列加密

小白C#表單系列-08小議Base64+MD5加密

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.