1

我尝试使用 bash-script 和 cocoa-code 获取 SHA1-sugnature。

Bash脚本:

echo -n "RF001" | openssl dgst -sha1

给我:

3eb0c58821e30a235a402308acff357e6f3d9f41

可可:

const unsigned char buffer[] = "RF001";
size_t buffer_size = sizeof(buffer);

uint8_t md[SHA_DIGEST_LENGTH];
SHA1(buffer, buffer_size, md);

NSData* data = [NSData dataWithBytes:md length:SHA_DIGEST_LENGTH];
NSLog([data description], nil);

写入控制台:

<3ab9d9cc ece56e3f 48d00c3f f2a9216a 5b74bbce>

为什么这两个结果不一样?

4

1 回答 1

1

这是可可片段中的错误。有很好的代码:

const char* buffer = "RF001";

uint8_t md[SHA_DIGEST_LENGTH];
SHA1((uint8_t*)buffer, strlen(buffer), md);

NSData* data = [NSData dataWithBytes:md length:SHA_DIGEST_LENGTH];
NSLog([data description], nil);
于 2013-08-22T22:52:07.257 回答