C#创建文件的实战应用示例解析

开发 后端
C#创建文件的实战应用示例主要向你介绍了在文件传送过程中使用C#创建文件中的MD5加密方法,那么这里就向你介绍详细的实现过程。

由于Internet的开放性,C#创建文件的应用很广泛,如在任何文件在传输过程中都可能受到篡改,而且传输过程的不确定性,使得我们缺乏有效的方法保证传输文件的安全。那么如何找到解决问题的方法呢?这里我们来谈谈使用C#创建文件的应用。

为了避免上述情况,最普遍的做法是随传输文件提供一个C#创建文件中的验证码,用户在收到文件后,通过重新计算文件验证码并与原始验证码比较,如果不匹配则表示文件在传输过程中发生了改变。下面,笔者就使用C#给大家演示一下具体的实现过程。

C#创建文件应用一、创建FileStream

在构建文件验证码之前,首先需要加载文件,这就要用到.Net framework的FileStream类。在.Net framework下,文件都表示为一个Stream,即字节序列的抽象概念。而所有涉及文件的读写操作都通过Stream类的属性和方法实现。下面,就是具体的实现代码:

  1. FileStream fst= new FileStream(  
  2.  
  3. txtFile.Text,FileMode.Open,  
  4.  
  5. FileAccess.Read, FileShare.Read, 8192);  

这里使用了FileStream构建函数的一种重载方法,需要提一下的是最后一个参数值8192,该参数值定义的是缓冲区的大小,即当文件大于8K时,以8K为单位,对文件进行分段读取,以提高读取文件的性能。

C#创建文件二、创建MD5对象

在成功创建FileStream对象之下,接下来就可以使用MD5类计算该对象的哈希值了。这个实现过程非常简单,只要先声明一个 MD5CryptoServiceProvider实例,然后使用ComputeHash方法完成计算过程,最后通过Hash属性就可以得到计算好的字节数组了。

  1. ……  
  2.  
  3. MD5CryptoServiceProvider md5=  
  4.  
  5. new MD5CryptoServiceProvider();  
  6.  
  7. FileStream fst= new FileStream(txtFile.Text,FileMode.Open,  
  8.  
  9. FileAccess.Read, FileShare.Read, 8192);  
  10.  
  11. md5.ComputeHash(fst);  
  12.  
  13. byte[] hash=md5.Hash;  
  14.  
  15. ……  

C#创建文件三、转换验证码字符串

由于MD5哈希算法返回的是一个字节数据,因此需要转换成字符串。以下就是具体实现的代码。

  1. ……  
  2.  
  3. byte[] hash=md5.Hash;  
  4.  
  5. StringBuilder sb=new StringBuilder();  
  6.  
  7. foreach(byte byt in hash)  
  8.  
  9. {  
  10.  
  11. sb.Append(String.Format("{0:X1}", byt));  
  12.  
  13. }  
  14.  
  15. TextBox1.Text = sb.ToString();  
  16.  
  17. ……  

在转换过程中,首先定义了一个StringBuilder对象,这主要是处于性能上的考虑;接着遍历MD5哈希值中的每个字节,并使用String.Format方法直接将字节转换成16进制格式的字符串,最后输出结果字符串即可。

注:通过本例生成的MD5验证码与同类MD5验证码校验工具在算法上完全一致,因此完全适用于实际应用场合。

C#创建文件的应用有很多,那么这次的应用解决是不是很巧妙呢?希望对你了解和学习C#创建文件方面有所帮助。

【编辑推荐】

  1. C#变量初始化分类详解
  2. 浅析C#变量初始化的具体实现
  3. C#创建文件夹的实际应用浅析
  4. 浅析C#创建文件夹实现实例
  5. C#创建文件夹实现方法详解
责任编辑:仲衡 来源: fheyes.cn
相关推荐

2009-08-31 10:56:54

C#创建文件夹

2009-08-31 12:56:36

C#创建文件夹

2009-08-31 12:31:45

C#创建文件夹

2014-03-17 10:27:08

Linux cp备份

2009-08-31 13:32:38

C#创建XML文件

2009-09-09 14:04:18

C# XML解析XML解析方法

2009-09-01 13:51:51

C#创建Word文档

2009-09-01 10:28:38

C#追加文件

2009-09-01 09:46:51

C# FileStre

2009-08-21 10:00:43

C#创建XML文件XmlTextWrit

2009-09-03 09:16:35

C#递归函数

2009-09-03 15:43:21

C#时间计算

2009-08-31 14:01:50

C#创建一个文件

2009-09-01 17:08:14

C#画线控件

2009-08-04 09:37:34

Linux创建文件命令Linux创建文件命令

2009-09-01 14:39:47

C#创建Excel文件

2009-09-01 10:10:51

C# StreamRe

2009-01-19 11:07:42

C#Web.NET

2009-09-02 16:20:22

C#动态创建数组

2009-09-02 16:14:21

C#动态创建数组
点赞
收藏

51CTO技术栈公众号