为什么我的SHA256总和不同?

时间:2011-09-18 19:17:46

标签: c checksum glib

我使用glib生成SHA256校验和。它似乎工作正常,但当我使用sha256sum验证输出时,我得到了不同的结果。有什么想法发生了什么?

char* createChecksumString(const char* buffer) {
    //Create SHA256 checksum using glib
    gchar* checksum = g_compute_checksum_for_string(G_CHECKSUM_SHA256,
        buffer, -1);

    printf("%s\n", buffer);
    printf("%s\n", checksum);

    .
    .
    .
}

.
.
.

const char* msg = "Hello SHA256";
char* checksum = createChecksumString(msg);

上面的代码产生:

  

你好SHA256

     

70725d0f78cb0967c0e5171f733619712d239e28f2d279e4b3c3ed97f7456fa3

sha256sum产生不同的输出。见下文:

  

echo“Hello SHA256”| sha256sum

     

e32bd03f46f51d4a5c903429fea1c31032d8d7aa689c764141b7cebd74f4e140

1 个答案:

答案 0 :(得分:7)

echo "Hello SHA256"打印换行符。

尝试使用echo -n "Hello SHA256" | sha256sum