我想在991sam7微臂上实现加密算法。所以我从简单的sha-1 openssl哈希函数开始。我可以使用code :: block软件编译sha-1的示例代码,并得到真正的输出。但是当我想在我的micro中使用这个代码时,我必须使用arm编译器(例如IAR Workbench)编译和构建它。我可以真正编译IAR中的代码,但是当我想构建它时,我没有给定义错误。所以我将C:\ OpenSSL-Win32 \ lib \ libeay32.lib添加到链接器附加库但是我给这个链接器错误: '致命错误:读取“C:\ OpenSSL-Win32 \ lib \ libeay32.lib”时出错:意外的文件结束'。 每个人都可以帮助我吗?感谢帮助。
我的示例代码是:
#include <stdio.h>
#include <stdlib.h>
#include <openssl/evp.h>
int main (){
EVP_MD_CTX sha1ctx;
unsigned char sha1val[EVP_MAX_MD_SIZE];
unsigned int i, sha1len;
char buf[2]="80";
int numIn;
EVP_DigestInit(&sha1ctx, EVP_sha1());
numIn=2;
EVP_DigestUpdate(&sha1ctx, buf, numIn);
EVP_DigestFinal(&sha1ctx, sha1val, &sha1len);
printf("SHA1: ");
for(i=0; i<sha1len; i++)
printf("%02x", sha1val[i]);
printf("\n");
EVP_MD_CTX_cleanup(&sha1ctx);
return 0;
}
答案 0 :(得分:1)
库C:\OpenSSL-Win32\lib\libeay32.lib
可能是错误的架构。您正在为嵌入式系统目标(at91sam7
)进行交叉编译,请将该库用于该目标。