$ echo *
a b c
$ cat *
file 1
file 2
file 3
$ factor -e=" \
> USING: globs io sequences sorting io.files io.encodings.utf8 ; \
> \"*\" glob natural-sort [ utf8 file-lines ] map concat [ print ] each "
file 1
file 2
file 3输出是相同的使用因子的球和外壳的球。输出的diff显示它们完全匹配。
$ factor -e=" \
> USING: math.parser checksums checksums.sha globs io sequences sorting io.files io.encodings.utf8 ; \
> \"*\" glob natural-sort [ utf8 file-lines ] map concat sha-224 checksum-lines bytes>hex-string print "
0feaf7d5c46b802404760778091ed1312ba82d4206b9f93c35570a1a
$ cat * | sha224sum
d1240479399e5a37f8e62e2935a7ac4b9352e41d6274067b27a36101但是校验和不匹配,md5校验和也不匹配。为什么会这样呢?如何在因子中获得与核心程序sha224sum中相同的校验和
将编码更改为ascii不会改变输出,"\n" join sha-224 checksum-bytes也不会改变checksum-lines。
发布于 2016-09-10 20:40:22
这种奇怪的行为是由于校验行中的错误造成的。因数/因数#1708
感谢乔嫩斯特发现了这个问题,并感谢卡西奥在要素邮件列表中找到了这段代码:
此代码: [{ "a“”b“"c”} 1,b number>string“文件”预先写咖喱ascii交换与-文件编写器]2每个"*“glob自然排序utf8文件行映射连接”\n附加地图“”联接!在sha-224校验和字节>十六进制字符串打印]和-test-目录之间添加新行。 提供相同的散列: d1240479399e5a37f8e62e2935a7ac4b9352e41d6274067b27a36101
https://stackoverflow.com/questions/39426590
复制相似问题