惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hacker News: Front Page
A
About on SuperTechFans
腾讯CDC
罗磊的独立博客
博客园 - Franky
Last Week in AI
Last Week in AI
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Register - Security
The Register - Security
云风的 BLOG
云风的 BLOG
L
LangChain Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recorded Future
Recorded Future
Vercel News
Vercel News
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
J
Java Code Geeks
有赞技术团队
有赞技术团队
V
V2EX
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
Jina AI
Jina AI
B
Blog RSS Feed
H
Help Net Security
N
Netflix TechBlog - Medium
Latest news
Latest news
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
C
Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
P
Proofpoint News Feed
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News and Events Feed by Topic
T
Threatpost

博客园 - kkk

无题 重出江湖! 技巧百问(10):UrlRewrite以及二级UrlRewrite 今天周末休息一天,发贴! 转贴:ASP.NET 2.0 中改进的缓存功能 一个多月来第一贴! 怀念一下《幽灵公主》 惊悚科幻 《灵幻夹克》 西安归来!(终于写完了) 支付宝Payto接口的c#.net实现 再总结一些技巧 超准的爱情测验! 转贴:Oracle(甲骨文)的CEO Larry.Ellison在耶鲁大学2000届毕业典礼上的演讲 转贴:出租车司机给微软高管上的MBA课程! 80个Gmail帐号,5个Live Messenger试用邀请,要的留言并注明是什么的邀请! 新年新贴! 关于asp.net c#中对cookie的操作 - kkk - 博客园 回滚事务日志文件中的事务 转贴:ASP.NET中的UrlRewrite
关于MD5码的一些自我总结
kkk · 2006-04-20 · via 博客园 - kkk

        MD5码现在使用的很广泛,其中不仅在web还是winform上。MD5码是不可逆的,虽然国内某大学女教师连破2种,但是她使用的碰撞算法,她也无法确定第二次就一定破的出来,所以就目前而言是安全的,不过时间长了就会有这种查询数据库出来也就不太安全了,目前有一些网站就可以查一些普通的密码,例如http://md5.rednoize.com/  查不到的就可以添加进去,这样时间长了就可以查出来。
下面是一个md5算法

MD5算法

         这个是C#中的,web中的FormsAuthentication.HashPasswordForStoringInConfigFile(字符串,"MD5")也可以实现,还有利用C#中函数实现的

函数实现

但是我在做支付宝在线支付的时候使用中文老提示错误,就是算法对中文不太支持,于是我转换为utf-8后再编码问题依然在,但使用vbscript的这个算法问题就解决了。

vb中的算法

后来我对比了一下Gb2312和GBK的字符表,就发现还是编码查找方式不同而引发的问题,现在正在研究C#中支持GBK编码的方法。
下面这个是VB.Net中的使用函数的实现办法

Dim md5 As New MD5CryptoServiceProvider
            
Dim username As Byte() = (New ASCIIEncoding).GetBytes(TextBox1.Text)
            
Dim mdString As String, mdString1 As String, mdString2 As String
            
Dim i As Integer
            
'转换为哈希值Byte数组
            Dim mdByte As Byte() = md5.ComputeHash(username)
            mdString 
= System.BitConverter.ToString(mdByte)
            
For i = 1 To 15
                mdString 
= mdString.Substring(02 * i) & mdString.Substring(3 + 2 * (i - 1), 47 - i * 3)
            
Next
            
'mdString = System.BitConverter.ToString(mdByte)
            'mdString = (New ASCIIEncoding).GetString(mdByte)
            TextBox2.Text = mdString

        现在动网论坛也使用的比较多,它使用的16位的MD5加密方式,从上面的加密算法我们可以看到它是由4组8位的密码组成,而16位就是取其中的2组合并的,不同的设置就取不同位置的密码来组合,下面是在外部插入动网数据库生成随机密码的代码。

public string createpass()
    {
        
int Ran,LengthNum=16;
        
string Createpass="";
        
for(int i=1;i<LengthNum;i++)
        {
            Random ram
=new Random();
            Ran 
= Convert.ToInt32(ram.NextDouble() * 2);
            
if(Ran== 0)
            {
                Ran 
=Convert.ToInt32(ram.NextDouble() * 25+ 97;
                Createpass 
=Createpass+Convert.ToString(Convert.ToChar(Ran)).ToUpper();
            }
            
else if(Ran == 1)
            {
                Ran 
= Convert.ToInt32(ram.NextDouble() * 9);
                Createpass 
= Createpass + Ran;
            }
            
else if(Ran == 2)
            {
                Ran 
= Convert.ToInt32(ram.NextDouble() * 25+ 97;
                Createpass 
=Createpass+Convert.ToString(Convert.ToChar(Ran));
            }
        }
        
return Createpass;
    }

这里是一个朋友的加密成字符密码的算法

加密为字符

其实密码就是几种情况,位移,叠加,无非就是多几次,以及加减乘除的内容。最近在弄md5密码数据库,程序弄好勒,结果一运行机器死了,内存暴涨,最后还是算勒,呵呵。