sha256sum文件哈希值和直接哈希字符串的哈希值不一样

news/2024/9/28 13:13:04

例如在文件test.txt里写入

test

没有换行。

然后

sha256sum test.txt

出来的结果是

f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2  test.txt

但是在这个网站上
http://encode.chahuo.com/
输入test,然后以sha256方式哈希得到的结果是

9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

两者不一致。

stat test.txt
  文件:test.txt大小:5         	块:8          IO 块:4096   普通文件
设备:10301h/66305d	Inode:270564      硬链接:1
权限:(0644/-rw-r--r--)  Uid:( 1000/searchstar)   Gid:( 1000/searchstar)
最近访问:2020-04-23 11:53:08.989247877 +0800
最近更改:2020-04-23 11:53:03.077686032 +0800
最近改动:2020-04-23 11:53:03.077686032 +0800
创建时间:-

会发现大小为5字节,说明linux的文件中加上了其他东西。
hexdump来看看到底加上了什么。
在这里插入图片描述
居然是0x0a,也就是\n。为了验证,用vscode打开它看看
在这里插入图片描述
末尾果然多了个换行符。把它去掉,保存。
在这里插入图片描述
文件大小变回4字节了,而且sha256sum的输出也和网站一样了。

此外,还可以尝试让sha256sum直接从stdin中读入

sha256sum -

然后输入

test<EOF>

其中EOF在linux上一般是ctrl+d。
然后得到的结果就是

9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

与网站上的一致了。

为什么要自动加一个换行呢?

如果没有换行,那就会这样
在这里插入图片描述
自动加上了换行,就会这样
在这里插入图片描述

vim中禁用自动加换行

参考:https://stackoverflow.com/questions/1050640/vim-disable-automatic-newline-at-end-of-file
~/.vimrc中加入

set noeol
set nofixendofline

两个缺一不可,而且只有新建文件时才有用,打开已有文件时仍然不能显示出多加的那个空行。最气的是当没有最后的空行,然后又自己手动加一个,保存关闭再打开之后空行又不显示了。说好的Linux高自由度呢???

祭奠我逝去的一小时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/65752.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

F-Droid使用教程

F-Droid下载地址:https://f-droid.org/ 默认的官方源太慢了。建议更换清华源。官方教程:https://mirrors.tuna.tsinghua.edu.cn/help/fdroid/ 先打开F-Droid,进入设置->存储库点进F-Droid存储库,可能会看到一些官方镜像:如果啥也没有,可能等一段时间就会出现。 把这些…

WPF 的Image 控件 设置 Image.Source 的数据源,可能存在跨线程调用的问题。

相信很多WPF 的开发,应该都很多用到 Image 这个控件来显示图片。这个图片的来源可以来自各种各样的方式获取到。 我们的组内白板、批注的扫码的功能也用到这个去生成二维码,生成后,二维码显示不出来,由于触发到了全局捕获,界面又没有崩溃,遇到了好几个坑,记录一下。 开始…

TSCTF-J 2024 部分题目复现(未完结)

TSCTF-J 2024 部分题目复现(未完结) iPlayBingo: F12拿到answerCheck.wasm文件,同时观察js代码找到关键函数Check() 利用Wabt将answerCheck.wasm文件转为answerCheck.c和answerCheck.h文件,但此时可读性依然较差。用gcc链接成answerCheck.o文件,此时可以使用IDA反汇编。​…

7-访问控制技术原理与应用

7.1 访问控制概述 1)概念 访问控制是指对资源对象的访问者授权、控制的方法及运行机制。 访问者又称为主体,可以是用户、进程、应用程序等; 资源对象又称为客体,即被访问的对象,可以是文件、应用服务、数据等; 授权是访问者可以对资源对象进行访问的方式,如文件的读、写、…

【赵渝强老师】基于大数据组件的平台架构

在了解了大数据各个生态圈所包含的组件及其功能特性后,就可以利用这些组件来搭建一个大数据平台从而实现数据的存储和数据的计算。下图展示了大数据平台的整体架构。视频讲解如下:大数据平台的Lambda架构大数据平台的Kappa架构大数据平台的总体架构可以分为五层,分别是:数据…

ctfshow-web-信息搜集(11-17)

web11 题目提示:域名其实也可以隐藏信息,比如ctfshow.com就隐藏了一条信息。 原理:通过Dns检查查询Flag。这里可以用阿里云的网站: Dns查询网站:阿里云网站运维检测平台 (aliyun.com)web12 题目提示:有时候网站上的公开信息,就是管理员常用密码 原理:查看robots.txt文件…

几款文本编辑器横向比较

文本编辑器 大文件编辑器 程序员编辑器几款文本编辑器横向比较 关键字: 大文件、编辑器 ‍ 编辑器功能及性能比较免责声明以下列选编辑器,仅限于本人日常接触的产品,带有强烈的个人主观和随机性,未列选产品并不代表不能满足功能需求。 测试数据(特别是时间),受限于观察条…

设备管理平台-支持快速开发

技术路线(同时支持前后端分离 / 前后端一体,可用于网关或者服务器部署) 前端:layui-v2.9.17 后端:Net8.0 使用组件 Swagger、Jwt、Freesql、MiniExcel、MemoryCache(存储登录用户信息,代替HttpContext.Session,也可使用Redis)系统架构 非市面上繁杂的架构(Model、Ser…