c
weixin_44764006
这个作者很懒,什么都没留下…
展开
-
[代码实战] c语言基于openssl实现的AES算法ECB模式加密代码解读
调用 pkcs7_padding_add,这是填充函数。不管明文满不满足16字节的块大小,都需要进行填充。不是16的整数倍时,要填充补齐16字节。如果是16的整数倍,则需要填充一个整块。电码本模式将明文分为若干个大小相同的块,对每个块进行单独的加密。不同的块加密结果没有关联,每个块可以独立解密。ECB模式的优点是简单,缺点是会被重放攻击。代码中依赖openssl库使用AES的ECB(电码本)模式进行加密和解密。原创 2024-01-30 13:02:54 · 297 阅读 · 0 评论 -
【代码测试】先pthread_cond_signal, 后pthread_cond_wait,会阻塞
【代码测试】先pthread_cond_signal, 后pthread_cond_wait,会阻塞当无线程在pthread_cond_wait等待时, 发送pthread_cond_signal,啥都不会发生,pthread_cond_signal依旧返回0#include <pthread.h>#include <stdlib.h>#include <stdio.h>pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALI原创 2021-04-12 17:10:54 · 653 阅读 · 0 评论 -
C语言的curl库开发中的超时设置
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);curl_setopt($ch, CURLOPT_TIMEOUT, 100);例如下载一个mp3文件:CURLOPT_CONNECTTIMEOUT 设置10s,表示建链成功后如果10无响应将会断链。CURLOPT_TIMEOUT 设置为100s,表示如果这个mp3文件100秒还没下载完,就断链。参考:https://blog.csdn.net/andybegin/article/details/8734原创 2020-09-08 09:40:46 · 1247 阅读 · 0 评论 -
cmake链接的到底是动态库还是静态库
LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/libs)这个命令指定库文件的搜索路径。编译和运行中都有效。所有编出来的可执行文件依赖库可以放在这个目录下,减少对操作系统的目录依赖。但是要注意一点,这里的搜索路径最终是绝对路径,意思也就是编译时就确定了这个目录,运行时也要搞一个相同的路径目录来存放依赖库。TARGET_LINK_LIBRARIES(${LINK_TA...原创 2020-04-23 17:27:12 · 2512 阅读 · 0 评论 -
关于c库文件操作函数feof的几句话
1、feof在stdio.h中定义2、只有当文件读指针已处于文件结尾,且再次发送读时,feof才会返非03、所有要判断文件是否已到结尾,要先发生一次读,再判断feof的返回状态。char c;c = fgetc(fp);while(!feof(fp)){printf("%X/n", c); //处理完上次读的数据后 c = fgetc(fp); //再读一次,然后在while中判...原创 2020-01-10 09:24:55 · 163 阅读 · 0 评论 -
ldconfig失败后大部分命令不能用
今天需要在centos系统上安装一个自己编译的应用程序,由于依赖的动态库太多,我用命令把所有依赖的动态库复制到一个目录下,拷贝到新的centos系统中。通过修改/etc/ld.so.conf来增加一个搜索路径,让后ldconfig使其生效。但是,就在执行完ldconfig后出错了,linux里的所有命令在执行时,都提示段错误,ls、ll、vi\vim、rm等都用不了了。由于系统内有大量资料,系统...原创 2019-12-30 19:06:42 · 2209 阅读 · 2 评论 -
代码片段笔记
#文件名提取#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)原创 2019-12-20 17:49:10 · 128 阅读 · 0 评论 -
从套接字句柄获取客户端ip:port
网络通信开发中,如果服务端想获取客户端ip,如果是tcp套接字,用getpeername函数(用法网上很多)。如果是udp套接字,只能从recvfrom函数的第三个参数struct sockaddr*中返回。最近犯的一个低级错误,想用getpeername获取udp客户端ip,获取出来的始终不对打印:client ip =39.127.0.0, port=55569因为这个函数根本就没执行...原创 2019-12-06 17:14:16 · 828 阅读 · 0 评论 -
coturn的relayed addr地址端口分配策略
1、turn的RELAYED-ADDRESS端口号分配都在文件turn_ports.c中实现。_turnports是关键的结构体类型:struct _turnports { u64bits status[PORTS_SIZE]; u64bits low; u64bits high; u16bits range_start; u16bits range_stop; int...原创 2019-11-18 16:53:41 · 591 阅读 · 0 评论