Linux环境下SHA256校验和输出格式不符问题求助
解决SHA256校验和格式转换问题
直接用Linux命令行工具就能把连续的十六进制字符串转换成你需要的冒号分隔、分两行的格式,以下是两种实用方法:
方法1:直接从APK文件生成目标格式
不用先复制连续字符串,直接对Signal APK文件执行以下命令:
sha256sum Signal.apk | cut -d' ' -f1 | sed 's/\(..\)/\1:/g;s/:$//' | fold -w 47
命令拆解:
sha256sum Signal.apk:生成APK的SHA256哈希值(默认连续字符串格式)cut -d' ' -f1:提取纯哈希值部分(去掉后面附带的文件名)sed 's/\(..\)/\1:/g;s/:$//':每两个十六进制字符后插入冒号,最后移除末尾多余的冒号fold -w 47:将整行分割为每行47个字符(正好对应16组冒号分隔的十六进制值,两行各16组)
方法2:转换已有的连续字符串
如果你已经拿到了连续的哈希字符串,用以下命令快速转换:
echo "f2f3fe7538608f2a6c43022f09216093fffb6b37e2ffed196afe4432cdb08d71" | sed 's/\(..\)/\1:/g;s/:$//' | fold -w 47
补充说明
两种格式本质上是同一个SHA256哈希值的不同展示形式——sha256sum默认输出连续字符串,而你需要的是带冒号分隔、分两行的格式化版本,核心哈希值完全一致,只是排版方式不同。
内容的提问来源于stack exchange,提问作者b00kgrrl
相关产品推荐
相关产品推荐

