双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

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

成都-狗蛋儿 成都-狗蛋儿 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在一个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
...全文

相关推荐

php无需编译安装openssl扩展的实现方法

下面小编就为大家分享一篇php无需编译安装openssl扩展的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38566180

php7安装openssl扩展方法

下面小编就为大家分享一篇php7安装openssl扩展方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38660295

linux环境下安装PHP的OpenSSL扩展的方法讲解

下面小编就为大家分享一篇linux环境下安装PHP的OpenSSL扩展的方法讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38704386

php各个版本的openssl的dll文件包

php_openssl.dll文件包,包含了windows下php扩展所需要的32位和64位操作系统需要的openssl文件,下载解压之后可以根据自身的php版本进行选择即可。

省委高育良

php开启openssl的方法

php开启openssl的方法,大多数情况下openssl是没有开启的,要想启用需要进行下简单的设置windows下开启方法: 1: 首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll。2: 讲php文件夹下的: php_openssl.dll, ssleay32.dll, libeay32.dll 3个文件拷贝到 WINDOWS\system32\  文件夹下。3: 重启apache或者iis(iisreset /restart) 至此,ope

weixin_38736011
评论
收藏 已收藏
分享
返回顶部
成都-狗蛋儿
C语言 70,039 成员 243,237 内容