繁体   English   中英

使用OpenSSL的bash脚本和可可代码之间的区别

[英]Difference between bash-script and cocoa code with OpenSSL

我尝试使用bash脚本和可可代码获得SHA1-sugnature。

巴什脚本:

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>

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

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

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM