【我在线等……】关于php扩展编译如何引用OpenSSL这个库

成都-狗蛋儿 2016-12-13 09:56:51
我在一个PHP的扩展中有用到openSSL这个库,主要是使用它的AES加密函数,但是我现在编译不知道怎么把这个库函数包含进来,因为我在单独写c语言测试代码的时候,我的编译参数是这样的
gcc -o pwd pwd.c -lcrypto

但是,我在编译到扩展里面来的时候,我不晓得怎么把这个OpenSSL的库引用到扩展。

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_wise.h"

#include <openssl/aes.h>
#define AES_BITS 128
#define MSG_LEN 128

int aes_encrypt(char* in, char* key, char* out)//, int olen)
{
if(!in || !key || !out) return 0;
AES_KEY aes;
if(AES_set_encrypt_key((unsigned char*)key, 128, &aes) < 0)
{
return 0;
}
int len=strlen(in), en_len=0;
while(en_len<len)//输入输出字符串够长,并且是AES_BLOCK_SIZE的整数倍,需要严格限制
{
AES_encrypt((unsigned char*)in, (unsigned char*)out, &aes);
in+=AES_BLOCK_SIZE;
out+=AES_BLOCK_SIZE;
en_len+=AES_BLOCK_SIZE;
}
return 1;
}


以上是PHP部分扩展的代码

我在makefile里面 加入过 一行代码:

EXTRA_LDFLAGS =  -Lcrypto
...全文
226 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

70,023

社区成员

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

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