获取FTP上文件的HASH值问题

dota_sky_god 2013-07-25 03:01:34

如下是获取本地上的文件HASH值方法,如果把filepath换成ftp地址,红色标注行会报不支持给定路径的格式的错误,该怎么改动 filePath = "g:\\update\\1.txt";
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
byte[] buffer;
using (HashAlgorithm hash = HashAlgorithm.Create())
{
buffer = hash.ComputeHash(fs);
hash.Clear();
}
ss = Convert.ToBase64String(buffer);
}

label2.Text = ss;

...全文
524 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
宝_爸 2013-07-29
  • 打赏
  • 举报
回复
上传文件的时候就吧checksum放上去。例如上传1.exe. 将checksum保存到1.exe.checksum上传到服务器上。 下载时,只下载1.exe.checksum
kayjlw 2013-07-29
  • 打赏
  • 举报
回复
实在不行就用安装包呗,然后一个文件来指示安装包版本,把那个文件下载下来进行版本对比即可
qldsrx 2013-07-25
  • 打赏
  • 举报
回复
有的FTP服务器软件支持HASH指令,你可以让FTP服务端将HASH的结果返回给你。如果是不支持该指令的,建议自己写个服务在服务器上计算文件的HASH后,返回给客户端吧,这要比先下载回来再计算好得多。
dota_sky_god 2013-07-25
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
获取ftp上的文件,然后下载下来再读取。直接指向路径是不行的。至于怎么下载ftp文件,你自己搜索一下。网上很多现成的。
如果是下载下来就没那么多问题了- -但是我现在是要做文件的更新操作,需要先判断再下载
全栈极简 2013-07-25
  • 打赏
  • 举报
回复
获取ftp上的文件,然后下载下来再读取。直接指向路径是不行的。至于怎么下载ftp文件,你自己搜索一下。网上很多现成的。
 本次课程会带着大家学习Hash算法,从源码的角度去学习算法,更加容易理解的方式去学习,能够更高效的吸收学到的内容,也能培养出能够独自看源码,分析源码的能力。Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列。这种转换是一种压缩映射,也就是,散列的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列来唯一的确定输入。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。  哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映射到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。  通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果。如果输入数据中有变化,则哈希也会发生变化。哈希可用于许多操作,包括身份验证和数字签名。也称为“消息摘要”。  简单解释:哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧