- 博客(3)
- 资源 (8)
- 收藏
- 关注
原创 C的enum与Delphi中枚举的转换问题
当Delphi调用一个来自C的接口时,比如dll。C中的函数参数可能是枚举类型,由于Delphi默认枚举长度为2字节、C为4字节,则将会在调用时产生意外,因此需要解决该问题: Delphi中的枚举定义示例如下,这里以对接OpenSSL的point_conversion_form_t类型为例:type Tpoint_conversion_form = (POINT...
2019-04-09 15:57:11 766
原创 OpenSSL的错误机制
在我们使用OpenSSL的过程中,可能会遇到函数返回值为0的情况,由于OpenSSL大部分的函数返回值规定1为返回正确,0为错误,因此,我们需要借助OpenSSL的错误处理函数对我们的代码进行进一步的分析,找到错误原因。 OpenSSL使用一个叫做ERR_STATE的结构体来维护其错误信息,其本质上就是一个深度为16单位的环形缓冲区,里面可以存放错误数据、文件、标...
2019-04-09 15:11:37 1947
原创 解决OpenSSL调用EVP_EncryptUpdate进行解密,返回长度少一个block_size的问题
最近在参考OpenSSL的man3中的调用示例调用EVP_EncryptUpdate的解密功能时,发现返回的长度总是少16字节(以AES-128-ecb为例),于是看OpenSSL源码,遂发现在evp_enc.c中的EVP_DecryptUpdate函数中在发现ctx->flags若有PADDING的情况下可能对解密返回的数据长度减去一个block_size的大小,应该是没有...
2019-04-08 22:12:01 8906 5
CloudQQ密保助手 源代码
2012-08-22
Delphi7关于MessageBox函数的使用
2012-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人