C#创建文件的实战应用示例解析
来源:互联网 发布:mysql序列自增 java 编辑:程序博客网 时间:2024/06/08 11:09
由于Internet的开放性,C#创建文件的应用很广泛,如在任何文件在传输过程中都可能受到篡改,而且传输过程的不确定性,使得我们缺乏有效的方法保证传输文件的安全。那么如何找到解决问题的方法呢?这里我们来谈谈使用C#创建文件的应用。
为了避免上述情况,最普遍的做法是随传输文件提供一个C#创建文件中的验证码,用户在收到文件后,通过重新计算文件验证码并与原始验证码比较,如果不匹配则表示文件在传输过程中发生了改变。下面,笔者就使用C#给大家演示一下具体的实现过程。
C#创建文件应用一、创建FileStream
在构建文件验证码之前,首先需要加载文件,这就要用到.Net framework的FileStream类。在.Net framework下,文件都表示为一个Stream,即字节序列的抽象概念。而所有涉及文件的读写操作都通过Stream类的属性和方法实现。下面,就是具体的实现代码:
- FileStream fst= new FileStream(
- txtFile.Text,FileMode.Open,
- FileAccess.Read, FileShare.Read, 8192);
这里使用了FileStream构建函数的一种重载方法,需要提一下的是最后一个参数值8192,该参数值定义的是缓冲区的大小,即当文件大于8K时,以8K为单位,对文件进行分段读取,以提高读取文件的性能。
C#创建文件二、创建MD5对象
在成功创建FileStream对象之下,接下来就可以使用MD5类计算该对象的哈希值了。这个实现过程非常简单,只要先声明一个 MD5CryptoServiceProvider实例,然后使用ComputeHash方法完成计算过程,最后通过Hash属性就可以得到计算好的字节数组了。
- ……
- MD5CryptoServiceProvider md5=
- new MD5CryptoServiceProvider();
- FileStream fst= new FileStream(txtFile.Text,FileMode.Open,
- FileAccess.Read, FileShare.Read, 8192);
- md5.ComputeHash(fst);
- byte[] hash=md5.Hash;
- ……
C#创建文件三、转换验证码字符串
由于MD5哈希算法返回的是一个字节数据,因此需要转换成字符串。以下就是具体实现的代码。
- ……
- byte[] hash=md5.Hash;
- StringBuilder sb=new StringBuilder();
- foreach(byte byt in hash)
- {
- sb.Append(String.Format("{0:X1}", byt));
- }
- TextBox1.Text = sb.ToString();
- ……
在转换过程中,首先定义了一个StringBuilder对象,这主要是处于性能上的考虑;接着遍历MD5哈希值中的每个字节,并使用String.Format方法直接将字节转换成16进制格式的字符串,最后输出结果字符串即可。
注:通过本例生成的MD5验证码与同类MD5验证码校验工具在算法上完全一致,因此完全适用于实际应用场合。
C#创建文件的应用有很多,那么这次的应用解决是不是很巧妙呢?希望对你了解和学习C#创建文件方面有所帮助。
- C#创建文件的实战应用示例解析
- 全面解析C#创建XML文件的具体操作
- C#文件的创建
- c#的字符解析简单示例
- C#创建并应用DLL文件过程
- 在C#中如何创建写入XML文件示例
- INI文件的解析方法的示例
- ios开发者创建app应用开发授权文件 实战方法
- 如何解析CSV文件的示例代码
- C#集合应用示例
- C# 资源文件的创建
- c# 导出Excel文件的操作示例
- XML文件解析示例
- 实战mp4文件解析
- C#链接文件的应用
- 应用经验 技巧 XML文件作为程序的默认配置文件(C#解析)
- C#创建文件夹的实际应用浅析
- C#计算机地址解析示例
- 软件开发常用英文词汇
- 转:恶心恶俗的爱国歌曲
- C#打开一个文件的操作详解
- 3com dabs
- ORACLE触发器
- C#创建文件的实战应用示例解析
- HTTP错误
- 抵制日货之日货列表
- SEH
- scrot 从入门到精通
- C#创建文件夹的实际应用浅析
- linux平台 QT Creator 配置 OpenCV
- JVM-垃圾回收机制(GC)
- razer金环蛇双击问题实战解决