首页 > 代码库 > 小白C#窗体系列-06.MD5系列加密小工具

小白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#远控系列软件

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