求指导,C程序运行openssl里面的函数没反应

JaydenHW 2021-04-08 08:53:35
刚安装完openssl-1.1.1f,想跑一个算hash的函数,代码如下:

#include<stdio.h>
#include<stdint.h>
#include <openssl/sha.h>


int main(int argc,char **argv)
{
printf("hello world\n");
unsigned char hash[SHA_DIGEST_LENGTH];
unsigned char content[4096] = {'\x41'};
unsigned int len = 4096;
unsigned char *res = SHA1(content,len,hash);
printf("digest = %s",hash);
return 0;
}

在windows的cmd下用gcc编译,命令gcc -o test test.c -llibssl -llibcrypto

结果运行exe程序只打印了hello world,过了几秒exe窗口自动关闭了,试了SHA256的函数也是一样的情况,请问是什么问题?

...全文
176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
JaydenHW 2021-04-09
  • 打赏
  • 举报
回复
已解决,使用MSYS2对openssl库进行编译,生成libssl.a和libcrypto.a
flying_music 2021-04-08
  • 打赏
  • 举报
回复
在return 0;前面加一个getc();试试?
JaydenHW 2021-04-08
  • 打赏
  • 举报
回复
引用 4 楼 flying_music 的回复:
引用 3 楼 qq_31101781 的回复:
[quote=引用 1 楼 flying_music 的回复:]在return 0;前面加一个getc();试试?
还是不行,一跑进Openssl的函数就不行了,SHA1和SHA256都试过,我用powershell看一进SHA1( )函数,就挂死了
如果是函数跑挂了,那可能是环境问题,就不好处理了。。。[/quote]是的,就是找不到问题出在哪里,我安装openssl的时候都是按着网上的教程,安装perl,nasm,vs2017,nmake,nmake test,nmake install来生成库文件的。
flying_music 2021-04-08
  • 打赏
  • 举报
回复
引用 3 楼 qq_31101781 的回复:
引用 1 楼 flying_music 的回复:
在return 0;前面加一个getc();试试?
还是不行,一跑进Openssl的函数就不行了,SHA1和SHA256都试过,我用powershell看一进SHA1( )函数,就挂死了
如果是函数跑挂了,那可能是环境问题,就不好处理了。。。
JaydenHW 2021-04-08
  • 打赏
  • 举报
回复
引用 1 楼 flying_music 的回复:
在return 0;前面加一个getc();试试?
还是不行,一跑进Openssl的函数就不行了,SHA1和SHA256都试过,我用powershell看一进SHA1( )函数,就挂死了

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧