返回目录:win7问题
内容导航:
一、查看文件是否被篡改的方法:散列算法
上一篇http:///i6378268695235396097/介绍了数字签名,今天介绍一下散列算法。
散列算法(哈希算法)的概念
散列是一种计算机算法,英语Hash,音译哈希。散列算法可以把任意大小的原始数据转变为一个固定尺寸的小数据即散列值也叫摘要。对于某个具体的散列算法,得到的散列值长度总是固定的。散列值的长度又称“摘要长度”。常见散列算法的摘要长度主要有:CRC32 32比特(4字节),一些压缩工具采用这种算法;MD5 128比特(16字节);SHA1 160比特(20字节),喜欢磁力下载影视的朋友对此应不陌生。散列算法具有不可逆性和确定性的特征,能够最大程度地避免散列碰撞(即两段不同的原始数据,计算出相同的散列值,也叫散列冲突)。散列碰撞有随机碰撞和人为碰撞两种,要避免随机碰撞,需要选择摘要长度足够长的散列算法,如SHA512;避免人为碰撞,要兼顾两个因素——散列算法的摘要长度、散列算法的优秀程度。如果某个散列算法有缺陷(不够优秀),那么攻击者就可以比较容易地构造出两个不同的原始数据,但却拥有相同的散列值,就可以骗过基于散列算法的完整性检查。典型的例子就是 MD5,前几年被发现存在严重缺陷,随着硬件计算能力的提升,即使是 SHA1 也开始变得不安全了,今后 SHA1 会逐步被 SHA256 或 SHA512 替代。
散列值校验的方法
很多软件,除了在官网上提供下载,还会相应提供下载软件的散列值。当下载好某个软件之后,先在自己电脑里计算一下散列值,然后跟官方网站提供的散列值对比一下。如果散列值一样,通常就说明没问题。使用win7、10的网友会发现“右键菜单管理项”中有一项“CRC SHA”,不知道有什么用处,它是用来计算你下载的软件文件的散列值的。如下图。
可计算CRC-32,CRC-64,SHA-1,SHA-256值
另外,可以使用散列值校验的工具——FCIV
微软官方的 FCIV(全称 File Checksum Integrity Verifier),是一个命令行工具。先运行 CMD,出现 Windows 的命令行界面,在其中使用该工具。
File Checksum Integrity Verifier下载页面
计算单个文件
比如计算微软的系统安装光盘镜像,位于 D:downloadWindows.iso ,使用以下命令可以计算该文件的 SHA1 散列值
fciv -sha1 D:downloadWindows.iso
2.批量计算某个目录
FCIV 支持批量计算某个目录下的文件散列值,可以用以下命令可以计算 D:download 目录下的每一个文件的 SHA1
fciv -sha1 D:download
如果对您有用,请关注“这个世界有点意思”。
二、怎么查看win10系统Hosts文件是否被篡改
您好,请问您是想知道怎么查看win10系统Hosts文件是否被篡改吗?三、篡改伪造文件检验的方法有哪些
目前最通用的做法是在生成文件后用sha1
或
md5
等
哈希算法
算出文件等
特征值
,文件被修改后,新文件等哈希特征值跟原始的肯定不一样
四、一个程序生成的csv文件,如何查看是否被修改过?
CSV(逗号分隔值文件格式),Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据(数字和文本)。
纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
单靠CSV文件是无法查看是否有改过,最多看一下文件修改日期,但也只是最后一次的修改时间,中间做过哪些修改是无法查询的
这应该是工厂制程出问题有人篡改数据了吧?遇到这种问题最好还是从程序逻辑上动手,可以生成一个加密(可逆的加密,比如AES/DES等,标准算法网上代码很多)的csv文件存在本地或服务器,通过查询将数据解密导出来,这样可从一定程度上避免篡改数据,且对程序代码变动不大。
加密示例如下图: