我试图在Contiki OS中使用LibTomCrypt库,但是它根本无法正常工作。我收到错误:致命:不是有效的对象名称HEAD。我已使用以下代码来计算客户端文件中的哈希。
unsigned char* hashSHA1(const char* input, unsigned long inputSize) {
//Initial
unsigned char* hashResult = (unsigned char*)malloc(sha1_desc.hashsize);
//Initialize a state variable for the hash
hash_state md;
sha1_init(&md);
//Process the text - remember you can call process() multiple times
sha1_process(&md, (const unsigned char*) input, inputSize);
//Finish the hash calculation
sha1_done(&md, hashResult);
// Return the result
return hashResult;
}
,然后在send_packet()中调用它。 我已经添加了头文件
`#include <tomcrypt.h>`
现在在Makefile中,我不确定如何添加路径。我已经检查了几种可能的方法,例如Contiki mote type creation error when trying to use libtomcrypt library (rsa public key generation),并添加了以下几行:
PROJECT_SOURCEFILES += sha1.c
MODULES += ./libtomcrypt-develop
PROJECT_LIBRARIES+= $(CONTIKI)/libtomcrypt-develop/libtomcrypt.a
(这里libtomcrypt-develop是包含LibTomCrypt库的文件夹的名称) 根据我的理解,我猜Makefile中有问题。有人可以在Makefile中找出问题吗?