gpt4 book ai didi

openssl sha256 差异

转载 作者:行者123 更新时间:2023-12-04 05:37:30 28 4
gpt4 key购买 nike

我使用的是 openssl 1.0.1c , linux x86_64
我正在创建包含“hello”的文件(没有换行符)

  • openssl dgst -sha256 hello_file

  • i get : 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03



    如果我使用任何其他在线计算( 12 、 3 、 4 、 5 (由于缺乏声誉,我不能做更多的超链接)

    i get : 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824


    最令人困惑的部分是我是否正在尝试使用 的在线计算器“你好(换行符)”
    那么

    1 return : 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03


    这正是我使用 openssl 得到的。当所有其他人返回时

    2, 3, 4 , 5 : cd2eca3535741f27a8ae40c31b0c41d4057a7a7b912b33b9aed86485d1c84676


    我知道回声的新行问题,但我不知道每个文件都附加了新行。 那么如何在没有换行符的情况下获得文件的 sha256 呢? 所有其他计算器有什么问题?
    提前致谢
    基里尔

    3 convertstring.com/Hash/SHA256
    4 webutils.pl/index.php?idx=sha1
    5 quickhash.com

    最佳答案

    你是对的,你的 hello_file有一个换行符:

    $ echo 'hello' > hello_file; openssl sha256 hello_file; xxd hello_file
    SHA256(hello_file)= 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
    0000000: 6865 6c6c 6f0a hello.

    删除新行将取决于您的编辑器,如果我发现这篇文章时您的情况与我的类似,则可以使用密码的哈希值,您可以执行以下操作:
    $ echo -n 'hello' > hello_file; openssl sha256 hello_file; xxd hello_file
    SHA256(hello_file)= 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
    0000000: 6865 6c6c 6f hello

    您可以执行以下操作来删除最后一个字符(或两个):
    $ echo "hello" > hello_file; od -c hello_file; truncate hello_file --size=-1; od -c hello_file
    0000000 h e l l o \n
    0000006
    0000000 h e l l o
    0000005

    看起来好像其他计算器都附加了 dos 样式的回车 + 换行符
    $ echo -en 'hello\r\n' > hello_file; openssl sha256 hello_file; xxd hello_file
    SHA256(hello_file)= cd2eca3535741f27a8ae40c31b0c41d4057a7a7b912b33b9aed86485d1c84676
    0000000: 6865 6c6c 6f0d 0a hello..

    关于openssl sha256 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742460/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com