网络上传文件到服务器 做md5 校对.判断文件是否破坏

首先求txt文件的md5值 ,1万条数据 求出的值

文件MD5:e5467b6a8e3c26af8c5af0bda3739280

服务器处理程序 也对上传的txt文件求md5值,如果这两个值相同,则文件完整

c# 求txt文件md5代码

static void GetMD5(string s)
{
try
{
FileStream file = new FileStream(s,FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retval = md5.ComputeHash(file);
file.Close(); StringBuilder sc = new StringBuilder();
for (int i = ; i<retval.Length ; i++ )
{
sc.Append(retval[i].ToString("x2"));
}
Console.WriteLine("文件MD5:{0}",sc);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}

附带

获得SHA1值,该方法中 s 代表传入的文件路径

SHA1名为安全哈希算法,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。

SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要,(但会有1x10 ^ 48分之一的机率出现相同的消息摘要,一般使用时忽略)。

static void GetSHA1(string s)
{
try
{
FileStream file = new FileStream(s, FileMode.Open);
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] retval = sha1.ComputeHash(file);
file.Close(); StringBuilder sc = new StringBuilder();
for (int i = ; i < retval.Length; i++)
{
sc.Append(retval[i].ToString("x2"));
}
Console.WriteLine("文件SHA1:{0}", sc);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
 

最新文章

  1. Android中自定义控件TextSize属性问题
  2. POJ 2559 Largest Rectangle in a Histogram ——笛卡尔树
  3. C#中浮点数依IEEE-754标准转二进制串 (MODBUS 浮点数转换)
  4. 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录
  5. textfield设置左边距
  6. Eclipse-修改工程名
  7. 边工作边刷题:70天一遍leetcode: day 78
  8. BZOJ 2818
  9. 关于JS中作用域的销毁和不销毁的情况总结
  10. sk_buff
  11. 将list&lt;对象&gt;转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据
  12. java设计模式之十桥接模式(Bridge)
  13. QT 初试 MainWindow简易窗体
  14. PHP基础点滴
  15. 【English】十四、英语
  16. 阿里SopHix热修复框架
  17. Week3 关于“微软必应词典客户端”的案例分析
  18. 双向重定向tee命令详解
  19. android 4.x环境搭建
  20. JS事件监听器

热门文章

  1. 初识SEO
  2. python基础内容目录
  3. LDAP目录服务
  4. C#导出Excel后关闭进程EXCEL.EXE
  5. ubuntu python的升级与回滚
  6. jenkins+maven+git持续集成部署问题总结
  7. Linux 下的 Docker 安装与使用
  8. 实现ls-l功能
  9. 拾遗----javascript一些实用方法
  10. cmake安装