点点滴滴
访问量:
sopper
博客园
首页
新随笔
新文章
联系
订阅
管理
posts - 84,comments - 117,trackbacks - 7
<
2007年1月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(5)
给我留言
查看留言
我参与的团队
北京.NET俱乐部(0/1556)
开源GIS学习(0/264)
我的标签
socket
(1)
线程
(1)
随笔档案
2008年6月 (1)
2008年5月 (2)
2008年4月 (1)
2008年3月 (3)
2008年2月 (1)
2008年1月 (2)
2007年12月 (9)
2007年11月 (1)
2007年6月 (7)
2007年5月 (3)
2007年3月 (8)
2007年1月 (15)
2006年12月 (2)
2006年11月 (8)
2006年10月 (1)
2006年4月 (19)
收藏夹
blog(2)
C#blog友情连接
C# Open Source
a
www.oazabir.com
开心就好【博客堂】
清清月儿
天道酬勤
最新随笔
1. 瑞星版本20.49.30的Bug
2. C++控件的数据交换和数据校验
3. VC6类向导对窗体按钮添加的消息映射代码
4. c/c++下常见的内存错误及其对策
5. CORBA_TAO的环境配置
6. 再议ManualResetEvent
7. 异步socket的线程分配(C#)
8. 你知道main函数参数的用处吗?
9. 你能确定这段代码的输出结果吗?
10. 小技巧避免项目中的大隐患
积分与排名
积分 - 39703
排名 - 1099
最新评论
1. re: C#转c++
楼主好羡慕你啊! 我喜欢c++和c那样底层的东西. 可是没有工作经验..找不到工作 只能被迫学习c#,说起来用ms定义好的东西是很方便........ 但是太方便了就是觉得恶心.特别恶心,明明需要自己...
--realpls
2. re: c# MD5加密算法的实例
if (s[i] < 16) { pwd = pwd + "0&qu...
--wintersday
阅读排行榜
1. C# 里List的用法(4284)
2. c# MD5加密算法的实例(2532)
3. ManualResetEvent用法 (2227)
4. C#连接mysql(1984)
5. 构造函数(1870)
评论排行榜
1. C#连接mysql(14)
2. 最基本的Socket编程 C#版(14)
3. 小技巧避免项目中的大隐患(13)
4. c# MD5加密算法的实例(11)
5. ManualResetEvent用法 (9)
c# MD5加密算法的实例
环境:vs.net2005
/
sql server2000
/
xp测试通过
1
.MD5 16位加密实例
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Security.Cryptography;
namespace
md5
{
class
Program
{
static
void
Main(
string
[] args)
{
Console.WriteLine(UserMd5(
"
8
"
));
Console.WriteLine(GetMd5Str(
"
8
"
));
}
/**/
///
<summary>
///
MD5 16位加密
///
</summary>
///
<param name="ConvertString"></param>
///
<returns></returns>
public
static
string
GetMd5Str(
string
ConvertString)
{
MD5CryptoServiceProvider md5
=
new
MD5CryptoServiceProvider();
string
t2
=
BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),
4
,
8
);
t2
=
t2.Replace(
"
-
"
,
""
);
return
t2;
}
/**/
///
<summary>
///
MD5 32位加密
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
static
string
UserMd5(
string
str)
{
string
cl
=
str;
string
pwd
=
""
;
MD5 md5
=
MD5.Create();
//
实例化一个md5对像
//
加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte
[] s
=
md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
//
通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for
(
int
i
=
0
; i
<
s.Length; i
++
)
{
//
将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd
=
pwd
+
s[i].ToString(
"
X
"
);
}
return
pwd;
}
}
}
posted on 2007-01-08 18:59
sopper
阅读(2532)
评论(11)
编辑
收藏
FeedBack:
#1楼
2007-04-09 13:51 |
stone [未注册用户]
方法中有小错误:
pwd = pwd + s[i].ToString("X");
如果s[i]是0~9,则只能转换为一位十六进制,不会占二位十六进制,最终得到的正确的值
回复
引用
#2楼
2007-07-02 00:47 |
sunday
兄弟有加密就没有解密吗??那就等于有毒药就没有解药了..
回复
引用
查看
#3楼
2007-07-31 18:17 |
过路的爱梅 [未注册用户]
有错误,转换出来的值有错误
回复
引用
#4楼
2007-08-09 21:02 |
sopper [未注册用户]
@过路的爱梅
请指明错误在哪里?
你认为原因是?
谢谢
回复
引用
#5楼
2007-09-03 14:24 |
daniel [未注册用户]
32位md5加密得到的结果居然大多数时候位数不够,怎么回事儿?
回复
引用
#6楼
2007-09-27 08:29 |
田倩 [未注册用户]
有没有简单的winform注册实例啊
回复
引用
#7楼
2007-09-27 08:31 |
田倩 [未注册用户]
将注册信息最后添加到access数据库中。。。。登录时验证数据库中是否存在该用户
回复
引用
#8楼
[
楼主
]
2007-09-27 09:23 |
sopper
@田倩
不明白你意思
回复
引用
查看
#9楼
2008-05-13 13:47 |
浅愿 [未注册用户]
怎么结果中的0全部不见了。导致结果位数不够。
回复
引用
#10楼
2008-09-11 19:08 |
wintersday [未注册用户]
if (s[i] < 16)
{
pwd = pwd + "0" + s[i].ToString("x");
}
else
{
pwd = pwd + s[i].ToString("x");
}
回复
引用
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-01-12 17:52 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索
相关文章:
C#基础概念二十五问
C#字符串分割
C#下如何实现服务器+客户端的聊天程序
C#基础概念二十五问
和 C#4.0 团队面对面
c#多线程疑问
C# 控制台问题
C# 委托
C# 来这里学习C#吧
相关链接:
最新IT新闻:
微软首次打破先例 Windows 7不再改名
亚马逊EC2云计算计划支持Windows操作系统
鲍尔默失望变希望 幸亏当初未收购雅虎
微软12月举办硬件工程大会 Windows7将首次亮相
电脑程序与12位真人聊天 “艾尔博特”骗过3人