小白C#窗体系列-08小议Base64+MD5加密

啥是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系列加密

时间: 2024-07-29 15:06:32

小白C#窗体系列-08小议Base64+MD5加密的相关文章

小白C#窗体系列-07.打造自己的C#远控系列软件

软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1mg6z1MC [源码看下面] 防止有人恶意利用,我发的是最原始版本,强化版没敢发 一.设计图纸:(更多在于思路) 二.代码分析: 1.服务器     ①监听Socket //启动的时候执行Server_Load事件 Control.CheckForIllegalCrossThreadCalls = false;  //关闭跨线程检测 //创建一个监听Socket --第一个参数是IPV4,第二个是选的流式传输,第

小白C#窗体系列-02.二维码生成器

今天是情人节,咳,男人们带着他们的男朋友们,女人带着她们的女朋友们愉快的逛着街.逆天也就不随大众了,就继续出C#小白系列的教程了~~~ 实在没空去录教程了,就看看文档吧,大家都知道的,录教程是比较花时间的,我不想草草了事,那是对大家和我自己的不负责,视频可以以后再录,不过软件和源码以及文档得先弄好,毕竟逆天不喜欢失信与自己~~ 废话不说了,开始我们的教程吧~ 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1i3BUVNv[源码看下面] 一.设计图纸: 二.代码分

小白C#窗体系列-01.简易浏览器

最近重伤,今天正好放假,就抽个空出C#第一集,开发完毕... 如果你看不到这篇文章,那过一天就可以看见了. 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1c03X7vM[源码看下面] 一.设计图纸: 二.代码分析 1.后退键. 前进键.停止键.刷新键:这几个功能本来我是准备用个数组来存储,可以前进后退的,后来啃他自带方法的时候发现微软提供了方法,也就偷个懒了后退按钮 this.webBrowser1.GoBack(); 前进按钮 this.webBrowser

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

加密解密从XX几百万用户信息泄露开始就已经得到重视,这两年就跟牛了,其实加密并不是什么杂七杂八的,一个思路就能得到强有利的密文,当你的数据库被黑客窃走时你强大的加密就会耗上黑客很多时间,这就为你拯救网站拯救服务器留下了很大的空间,进几年MD5非常火,后来XMD5也慢慢流行起来了各种变态的加密方式涌了上了,逆天今天给大家提供几个很简单很简单的思路(就是这简单的思路让很多解密网站都崩溃了...) 为了满足站长的需求,把变异型的再次md5了一下,产生固定位数的密文 加之与国际接轨和资源节省的需求,1.

小白C#窗体系列-09.SHA系列加密

SHA系列加密,SHA512安全是安全,但位数太长了,很少有人用它加密密码,下面我就简单介绍一下SHA和一些变种加密(SHA512也会用进去的) 程序跟国际化接轨,都是用的UTF-8编码格式 (如果有比我还菜的鸟写出相同的加密方式得到的密文不同,如果要质疑的话,先把编码看一下,不同编码产生密文是不同的) 提供另一种思路(下期会讲):在多重加密的过程中反复变化编码...自己想象去吧~ 这个是SHA-1的加密写法,和MD5一样的 也许有人会问,那个for循环怎么没了?我这边用的是官方提供的方法,fo

小白C#窗体系列-03.图片查看器

新增拖拽功能 如果出现看不见的情况明天就好了,好了我们步入正题,作为一个吊丝,如果你用你女朋友/女神的照片做了个图片浏览器,那么你每次用来看图的时候第一张看的都是她了,当看到第二张你想看见的图时,是不是有个鲜明的对比呢,是落差还是什么的,就因人而异咯~~又开始想入非非了?哈哈,不扯淡了,继续:4步走~~~ 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1i387wJ7  [源码看下面] 逆天图片查看器1.0.1 下载   http://pan.baidu.com

小白C#窗体系列-04.点名系列的小系统

这个东西其实是最简单的东西了,一个随机数一个集合一个timer控件就搞定了.本来不想写这一期的,后来有个哥们跟我说他在网上买了个抽奖系统花了几百块钱....软件发过来我一反编译...当时我就愣了...一个猥琐的非人类就这样坑了一个好骗的人类...        步入正题,逆天今天给大家带来的是点名抽奖系列的小系统,为了普遍性和简易性就没有写死直接用一个txt记录(其实写死的程序也可以改变他的一些内容,在本章节的最后会给大家一个小工具[C32Asm]) 软件下载(.NET 4.0 框架)http:

小白C#窗体系列-12.逆天代码生成器

有些代码重复劳动,用网上的代码生成器太烦了,很多代码都存在明显的注入漏洞,很多代码风格都不适合自己...于是就花了一个上午写了个代码生成器,源码共享一下,其实功能点很简单,就是逆天又想偷点懒而已... 软件下载: http://pan.baidu.com/s/1hqmqFsg 本来是准备昨天晚上编的,后来喝的有点高了...好了,不屁话了直接入正轨: 就重点讲一下model类的生成吧:先调用model窗体 ModelForm f1 = ModelForm.GetModelForm(); //单例(

小白C#窗体系列-11.打造汉音互转神器

汉语拼音不好怎么办?网站拼音搜索怎么搞?一切尽在转换神器~软件和源码先发布,等我有时间再讲解~ 软件下载:http://pan.baidu.com/s/1kTMIxOb 源码下载:http://pan.baidu.com/s/1gdGKVVd 本期推荐: codesmith三层模板   英朗大字典                                                                      下一期:代码生成器