代码之家  ›  专栏  ›  技术社区  ›  hendry

从Linux命令行生成sha256[关闭]

  •  195
  • hendry  · 技术社区  · 14 年前

    我知道字符串“foobar”生成SHA-256散列 c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2 http://hash.online-convert.com/sha256-generator

    但是命令行shell:

    hendry@x201 ~$ echo foobar | sha256sum
    aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f  -
    

    6 回复  |  直到 4 年前
        1
  •  410
  •   acdcjunior Mukul Kumar    9 年前

    echo 通常会输出一个换行符,用 -n

    echo -n foobar | sha256sum
    
        2
  •  110
  •   Farahmand    10 年前

    如果已安装 openssl ,您可以使用:

    echo -n "foobar" | openssl dgst -sha256
    

    对于其他可以替换的算法 -sha256 -md4 , -md5 , -ripemd160 -sha , -sha1 , -sha224 , -sha384 -sha512 -whirlpool .

        3
  •  46
  •   Peter Mortensen John Conde    4 年前

    如果命令sha256sum不可用(on Mac OS X v10.9

    echo -n "foobar" | shasum -a 256

        4
  •  31
  •   Nicholas Knight    14 年前

    echo -n 然而,根据最新版本的 the POSIX standard ,新的符合要求的应用被“鼓励使用” printf ".

        5
  •  9
  •   Peter Mortensen John Conde    4 年前

    echo

    /bin/echo -n foobar | sha256sum 
    
        6
  •  7
  •   Thomas Owens    14 年前

    我相信 echo -n 作为echo的参数跳过换行符。

        7
  •  1
  •   stevec    4 年前

    对于 sha256型 散列 ,使用:

    echo -n foo | openssl dgst -binary -sha1 | openssl base64
    

    例子

    echo -n foo | openssl dgst -binary -sha1 | openssl base64
    C+7Hteo/D9vJXQ3UfzxbwnXaijM=