会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SummerRain
软件开发/信息安全
随笔 - 246, 文章 - 0, 评论 - 240, 阅读 -
36万
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
Email: xchuntao@163.com
昵称:
SummerRain
园龄:
19年7个月
粉丝:
37
关注:
15
+加关注
搜索
最新随笔
1.【转】ES、TS、JS的区别
2.Typescript入门手记
3.软件著作权申请-注意事项
4.软件著作权申请书在线打印分页不正常问题的解决
5.【链接】在线压缩JS文件
6.【转】WINDOWS 自带解压缩命令
7.【转】Notepad++如何设置行高
8.【转】kettle7.1资源库无法打开,找不到connect按钮的问题处理
9.【转】C# 高性能 TCP 服务的多种实现方式
10.【转】Cowboy 开源 WebSocket 网络库
随笔分类
(301)
.NET数据库编程求索之路(23)
Android(13)
ASP.NET(34)
ASP.NET MVC(6)
Foxpro(5)
1.C++++.NET(35)
2.WEB技术(32)
3.MVC/ORM(5)
4.源码.技巧(22)
5.软件测试(1)
6.邮件系统(3)
7.加密解密(8)
8.数据库(14)
9.常见问题(33)
A.生活/讯息(9)
B.乱七八糟(21)
Drupal(2)
X.TCP/IP(11)
Y.信息安全(14)
Z.无线传感器网络WSN(3)
大前端(2)
一句话(5)
更多
Blogs
在路上...
鸟食轩
海浪
* Fantasy Soft
birdshover
Kaneboy's Blog
*海鸥航迹*
SummerSoft(Java)
非技术
81575(wmj)
中国文档中心
天蓝下载站
kentico CMS
可爱图片
办公人物图标
开发技术
匠心十年
SourceForge
灰狐
CSDN
实用工具
【MSDN,我告诉你】
信息安全
网络安全焦点
中国信息安全组织
Web Services Security
蚂蚁公社
阅读排行榜
1. 【转】在android程序中使用配置文件properties(18227)
2. [转]Word 参考文献排序的技巧(12425)
3. 【转】Android配置文件权限一览表(10599)
4. 哈希算法MD5和SHA1的C#实现(10455)
5. [转]ASP UTF-8 乱码问题的解决方法小结(8252)
6. 【转】力控的60个经典问题(7832)
7. C#调用C函数(DLL)传递参数问题(7655)
8. Thinkpad X240使用U盘安装Win7系统(7604)
9. 从临时表返回数据时遇到的问题(ORA-08103: object no longer exists)(7106)
10. 【转】Secedit:命令行下操作组策略找工具(7066)
评论排行榜
1. .Net很棒,但我迷失了方向----Java为我打开了一扇窗(58)
2. 记录一个人事管理信息系统的开发过程1(31)
3. 如何编写可读性好的代码(28)
4. NHibernate初学体验进阶篇(23)
5. NHibernate初学体验记(15)
6. 基于ODP的数据层基类C#源码(7)
7. 关于JS调用外部可执行程序中路径空格问题(6)
8. Win2003Server出现了很多的“桌面”(6)
9. 从临时表返回数据时遇到的问题(ORA-08103: object no longer exists)(6)
10. 记录一个人事管理信息系统的开发过程2(结束)(5)
推荐排行榜
1. 如何编写可读性好的代码(9)
2. C#-DataTable分页代码(2)
3. 基于RSA的数字签名和验证C#源码(2)
4. 【转】kettle7.1资源库无法打开,找不到connect按钮的问题处理(1)
5. MVC中的M是ViewModel不是EntityModel!(1)
最新评论
1. Re:C#-DataTable分页代码
功能不错,但是不知道效率怎么样,用sql分页查询总感觉太繁琐了,受用
--华丽冒险之菜鸟007
2. Re:【转】Windows 7 API Internet Connection Sharing(ICS) 与 Wireless Hosted Network构建本地AP
能解决 DHCP 吗
--Glorevo
3. Re:VS2010无法保存项目文件(.csprj)的问题解决方法
可以解决次问题,我的环境为win8,visual 2012.
--杂客
4. Re:[转]如何打包 c# windows服务程序
学习了
--Geoffrey
5. Re:VS2010无法保存项目文件(.csprj)的问题解决方法
@ stone引用这个根本不是解决方案,问题出在缺少了一个组件。 正确的解决方法是:安装msxml6.msi。下载地址:你说的是一种情况吧,可是我的真的是这么解决的。我是在一篇英文网页上看到这个方法,...
--SummerRain
哈希算法MD5和SHA1的C#实现
Posted on
2007-12-19 11:46
SummerRain
阅读(
10455
) 评论(
1
)
编辑
收藏
举报
* 关于哈希函数: * 哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串。 * 加密哈希函数有这样一个属性:在计算上不大可能找到散列为相同的值的两个 * 不同的输入;也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配。 * 数据的少量更改会在哈希值中产生不可预知的大量更改。 * * MD5 算法的哈希值大小为 128 位。 * SHA1 算法的哈希值大小为 160 位。
/**/
/*
* 哈希算法MD5和SHA1的C#实现
*
*
* 夏春涛 Email:xChuntao@163.com
* Blog:
http://bluesky521.cnblogs.com
* 运行环境:.net2.0 framework
*/
/**/
/*
* 关于哈希函数:
* 哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串。
* 加密哈希函数有这样一个属性:在计算上不大可能找到散列为相同的值的两个
* 不同的输入;也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配。
* 数据的少量更改会在哈希值中产生不可预知的大量更改。
*
* MD5 算法的哈希值大小为 128 位。
* SHA1 算法的哈希值大小为 160 位。
*/
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Security.Cryptography;
namespace
MD5_App
{
class
Program
{
static
void
Main(
string
[] args)
{
string
strSrc
=
"
How are you?
"
;
Console.WriteLine(
"
原文:
"
+
strSrc);
Console.WriteLine();
Console.WriteLine(
"
MD5哈希值:
"
+
MD5_Hash(strSrc));
Console.WriteLine();
Console.WriteLine(
"
SHA1哈希值:
"
+
SHA1_Hash(strSrc));
Console.WriteLine();
}
//
MD5
static
public
string
MD5_Hash(
string
str_md5_in)
{
MD5 md5
=
new
MD5CryptoServiceProvider();
byte
[] bytes_md5_in
=
UTF8Encoding.Default.GetBytes(str_md5_in);
byte
[] bytes_md5_out
=
md5.ComputeHash(bytes_md5_in);
string
str_md5_out
=
BitConverter.ToString(bytes_md5_out);
//
str_md5_out = str_md5_out.Replace("-", "");
return
str_md5_out;
}
//
SHA1
static
public
string
SHA1_Hash(
string
str_sha1_in)
{
SHA1 sha1
=
new
SHA1CryptoServiceProvider();
byte
[] bytes_sha1_in
=
UTF8Encoding.Default.GetBytes(str_sha1_in);
byte
[] bytes_sha1_out
=
sha1.ComputeHash(bytes_sha1_in);
string
str_sha1_out
=
BitConverter.ToString(bytes_sha1_out);
//
str_sha1_out = str_sha1_out.Replace("-", "");
return
str_sha1_out;
}
}
}
源码附件:
/Files/bluesky521/DES_Hash_Demo.rar
分类:
7.加密解密
好文要顶
关注我
收藏该文
微信分享
SummerRain
粉丝 -
37
关注 -
15
会员号:3968
+加关注
0
0
升级成为会员
«
上一篇:
数据加密标准(DES)的C#实现(4)
»
下一篇:
[转]浅谈Base64编码
刷新页面
返回顶部
登录后才能查看或发表评论,立即
登录
或者
逛逛
博客园首页
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
编辑推荐:
·
Linux系列:如何用 C#调用 C方法造成内存泄露
·
AI与.NET技术实操系列(二):开始使用ML.NET
·
记一次.NET内存居高不下排查解决与启示
·
探究高空视频全景AR技术的实现原理
·
理解Rust引用及其生命周期标识(上)
阅读排行:
·
物流快递公司核心技术能力-地址解析分单基础技术分享
·
.NET 10首个预览版发布:重大改进与新特性概览!
·
单线程的Redis速度为什么快?
·
展开说说关于C#中ORM框架的用法!
·
Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
Powered by:
博客园
Copyright © 2025 SummerRain
Powered by .NET 9.0 on Kubernetes
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库