【发布时间】:2015-02-22 11:13:43
【问题描述】:
我想为 arm at91sam7 micro 实现加密算法。所以我从简单的 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;
}
【问题讨论】: