计算机编程中的文件签名是位于文件开头的唯一标识号。该数字标识文件的类型,提供有关实际文件中包含的数据的信息。当文件扩展名或用户错误将文件误识别为不正确的类型时,此信息可用于确定正在读取的文件类型。文件签名还可以包含确保存储在文件中的原始数据仍然完整且未被修改的信息。这些元素的组合使文件签名成为一种重要的验证形式,尤其是针对计算机病毒。
文件签名的概念是由于需要文件头(数据块)而出现的。位于文件的开头,定义信息如何存储在文件中的参数。标头信息的一部分是定义最初创建的文件类型的字节序列。这可以是一个图像文件、来自特定程序的文档,甚至当文件流用作客户端和服务器之间的通信方法时的协议类型。文件头没有使用定义的标准;相反,它是每种不同格式所专有的,这意味着程序或操作系统需要文件签名数据库来确定未知文件的类型。
实际的文件签名有时被称为幻数。在编程中,这是它所占据的数据字段中唯一的值。当查看文件头以确定文件类型时,这意味着没有两个文件签名应该相同,从而允许每种类型格式具有独特的识别字节字符串。这在处理在线文件的传输和解释时特别有用,其中文件的识别扩展名可能是任意的并且不能被依赖作为文件类型的标识符。
此外除了文件类型之外,文件签名还可以包含允许对文件执行错误检查的信息,以便可以确认它所保存的数据是完整的。这通常使用称为校验和的函数来执行。校验和是一种函数,它使用文件数据的整数值来创建可以在文件传输或加载后复制的数学值。在最基本的形式中,此过程涉及将文件中一系列字节的值相加,然后记录总和,从而允许解码文件的程序执行相同的功能。如果解码过程中结果不同,则文件可能已损坏并且数据可能已损坏她无效或可能已被出于恶意目的而修改。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!