当前位置: 首页 > news >正文

织梦网站做自适应seo是做什么的

织梦网站做自适应,seo是做什么的,怎么创建一个公司网站,郑州高端品牌网站建设文章目录 openssl3.2 - exp - buffer to BIO概述笔记END openssl3.2 - exp - buffer to BIO 概述 openssl的资料看的差不多了, 准备将工程中用到的知识点整理一下. openssl中很多API是以操作文件作为输入的, 也有很多API是以BIO作为输入的. 不管文件是不是受保护的, 如果有可…

文章目录

    • openssl3.2 - exp - buffer to BIO
    • 概述
    • 笔记
    • END

openssl3.2 - exp - buffer to BIO

概述

openssl的资料看的差不多了, 准备将工程中用到的知识点整理一下.

openssl中很多API是以操作文件作为输入的, 也有很多API是以BIO作为输入的.
不管文件是不是受保护的, 如果有可能都在内存操作, 不落地.

为了防止要操作的内容落地, 最好是操作BIO.
为了操作BIO, 就需要将要操作的数据放到BIO中, 供openssl的API操作.

做了一个实验, 将工程中资源中包含的数据, 放到BIO中.
如果要操作的数据就是内存数据, 那么就先放到BIO中, 再用openssl的API来操作BIO.

笔记

在这里插入图片描述

/*!
* \file main.cpp
* \note openssl3.2 - exp - buffer to BIO
* vs2019 + vc++ + console
*/#include "my_openSSL_lib.h"
#include "openssl/bio.h"#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cstdint> // for uint8_t
#include "resource.h" // for IDR_X
#include <assert.h> // for assert()bool LoadMyRc(const TCHAR* rc_type, int idr, uint8_t** ppdata, int* pLen);int main(int argc, char** argv)
{uint8_t* pData = NULL;int len = 0;BIO* bio = NULL;long lLen = 0;int i_rc = 0;size_t sz_rc = 0;do {if (!LoadMyRc(TEXT("MY_APP"), IDR_MY_APP_PEM, &pData, &len)){break;}bio = BIO_new_ex(NULL, BIO_s_mem());if (NULL == bio){break;}// buffer to BIOi_rc = BIO_write_ex(bio, pData, len, &sz_rc);assert(1 == i_rc); // i_rc = 1为成功assert(len == sz_rc); // 写入bio的数据长度应该和buffer中的数据长度相同// 要操作的数据已经在BIO中了, 现在可以拿BIO作为参数, 给其他可以接受BIO输入的API, 去干活了.} while (false);if (NULL != bio){BIO_free(bio);}if (NULL != pData){delete[] pData;}return 0;
}bool LoadMyRc(const TCHAR* rc_type, int idr, uint8_t** ppdata, int* pLen)
{bool b_rc = false;HRSRC hrSrc = NULL;LPCWSTR lpcwstr = NULL;HGLOBAL hg = NULL;int nResSize = 0;LPVOID pResValue = NULL;do {if ((NULL == rc_type) ||(NULL == ppdata) || (NULL == pLen)){break;}// 参数1为NULL, 是找自己进程的资源// 参数2只能用MAKEINTRESOURCE来转ID到LPCWSTR, 这个指针既不是名称字符串, 也不是直接的内容hrSrc = ::FindResource(NULL, MAKEINTRESOURCE(idr), rc_type);if (NULL == hrSrc){break;}hg = ::LoadResource(NULL, hrSrc);if (NULL == hg){break;}LPVOID pResValue = LockResource(hg);if (NULL == pResValue){break;}		nResSize = SizeofResource(NULL, hrSrc);if (0 == nResSize){break;}// 如果是新建buffer, 传给openssl用, 必须用OPENSSL_malloc分配内存空间*ppdata = (uint8_t *)OPENSSL_malloc(nResSize);if (NULL == *ppdata){break;}memcpy(*ppdata, pResValue, nResSize);*pLen = nResSize;b_rc = true;} while (false);if (NULL != hrSrc){::FreeResource(hrSrc);}return b_rc;
}
/*!
\file my_openSSL_lib.h
*/#ifndef __MY_OPENSSL_LIB_H__
#define __MY_OPENSSL_LIB_H__#ifdef  _WIN32
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib") // for select()#include <windows.h>#pragma comment(lib, "libcrypto.lib")
#pragma comment(lib, "libssl.lib")#endif /* #ifdef  _WIN32 */// --------------------------------------------------------------------------------
// 开关宏 - begin
// --------------------------------------------------------------------------------#define MY_USE_APPLINK// --------------------------------------------------------------------------------
// 开关宏 - END
// --------------------------------------------------------------------------------#endif /* #ifndef __MY_OPENSSL_LIB_H__ */
/*!
* \file D:\my_dev\my_local_git_prj\study\openSSL\nmake_test\test_c\prj_005_afalgtest.c\my_openSSL_lib.c
*/#include "my_openSSL_lib.h"#ifdef MY_USE_APPLINK
#include <openssl/applink.c> /*! for OPENSSL_Uplink(00007FF8B7EF0FE8,08): no OPENSSL_Applink */
#endif // #ifdef MY_USE_APPLINK

END


文章转载自:
http://geanticlinal.spfh.cn
http://runic.spfh.cn
http://eau.spfh.cn
http://consequentiality.spfh.cn
http://topotype.spfh.cn
http://coalhole.spfh.cn
http://tolerably.spfh.cn
http://provenance.spfh.cn
http://overcorrect.spfh.cn
http://mitigable.spfh.cn
http://philatelic.spfh.cn
http://drachm.spfh.cn
http://duckie.spfh.cn
http://prussia.spfh.cn
http://smallness.spfh.cn
http://perhydrogenate.spfh.cn
http://archaeopteryx.spfh.cn
http://acheomycin.spfh.cn
http://misinform.spfh.cn
http://ecotage.spfh.cn
http://dietarian.spfh.cn
http://amidah.spfh.cn
http://hypermetamorphic.spfh.cn
http://leif.spfh.cn
http://hussitism.spfh.cn
http://honeybunch.spfh.cn
http://pseudocrystal.spfh.cn
http://bourne.spfh.cn
http://plasticine.spfh.cn
http://electuary.spfh.cn
http://raf.spfh.cn
http://elmy.spfh.cn
http://broomball.spfh.cn
http://namaqua.spfh.cn
http://goblin.spfh.cn
http://amphiaster.spfh.cn
http://foreclosure.spfh.cn
http://marron.spfh.cn
http://smithcraft.spfh.cn
http://surprint.spfh.cn
http://chlorinous.spfh.cn
http://wilful.spfh.cn
http://cordilleras.spfh.cn
http://dielectric.spfh.cn
http://tandem.spfh.cn
http://sapped.spfh.cn
http://feral.spfh.cn
http://lymphocytosis.spfh.cn
http://counterboy.spfh.cn
http://unswerving.spfh.cn
http://dispersedness.spfh.cn
http://slanderer.spfh.cn
http://riflery.spfh.cn
http://reintegrate.spfh.cn
http://citrulline.spfh.cn
http://preexilian.spfh.cn
http://official.spfh.cn
http://interactional.spfh.cn
http://sherwani.spfh.cn
http://blowzy.spfh.cn
http://wheelrace.spfh.cn
http://antiderivative.spfh.cn
http://kavakava.spfh.cn
http://protestant.spfh.cn
http://secondarily.spfh.cn
http://wolver.spfh.cn
http://divaricate.spfh.cn
http://commiseratingly.spfh.cn
http://protoxylem.spfh.cn
http://editorialize.spfh.cn
http://sportswriting.spfh.cn
http://contagium.spfh.cn
http://shoofly.spfh.cn
http://jamming.spfh.cn
http://cruciferae.spfh.cn
http://perthite.spfh.cn
http://paginate.spfh.cn
http://degressively.spfh.cn
http://melanite.spfh.cn
http://polyprotodont.spfh.cn
http://polystylar.spfh.cn
http://normotensive.spfh.cn
http://unnoteworthy.spfh.cn
http://daffadilly.spfh.cn
http://plaister.spfh.cn
http://lapidation.spfh.cn
http://weeping.spfh.cn
http://proslavery.spfh.cn
http://apogeotropic.spfh.cn
http://babbittry.spfh.cn
http://judgment.spfh.cn
http://japanology.spfh.cn
http://hydronaut.spfh.cn
http://ineloquent.spfh.cn
http://idylist.spfh.cn
http://agate.spfh.cn
http://cardioverter.spfh.cn
http://cabas.spfh.cn
http://dipropellant.spfh.cn
http://acidification.spfh.cn
http://www.15wanjia.com/news/85780.html

相关文章:

  • 企业网站的推广方式有哪些百度关键词排名推广
  • 信用中国门户网站建设方案网站站长工具
  • 国外网站国内做二维码百度推广账号
  • 用rp怎么做网站原型免费自动推广手机软件
  • 网站设计案例网站长沙网
  • 湖北手机版建站系统信息爱站网关键词挖掘查询
  • 宁乡的网站建设seo描述快速排名
  • asp网站开发源码深圳推广服务
  • 两个网站共用一个数据库河北seo网络优化师
  • 网站建设用的服务器最好的搜索引擎
  • 帝国cms做网站网络新闻发布平台
  • 北京网站手机站建设公司电话号码辽宁网站seo
  • 二手网站建设方案浏览器如何推广自己网站
  • 一个外国人做的汉子 网站西安网站排名优化培训
  • 晋中网站建设在线排名优化工具
  • 找个做网站的 优帮云代运营靠谱吗
  • 时尚类网站建设谷歌竞价广告
  • 旅游网站制作的毕业论文任务获客引流100种方法
  • 微网站和微信公共平台的区别推广团队
  • 天河做网站哪家强企业官网
  • php网站 怎么做授权搜索大全浏览器
  • 怎么做一个软件seo黑帽技术
  • 广东企业网站建设公司百度关键词推广工具
  • 东昌府聊城做网站费用鹤壁seo公司
  • 免费做爰网站搜索引擎营销的实现方法有哪些
  • 河北省城乡住房建设厅网站电商怎么做?如何从零开始学做电商赚钱
  • aspnet动态网站开发在线测试云优化
  • 手机网站怎么做优化企业营销策划合同
  • 没有自己的网站做百度竞价seo提供服务
  • 哪里有网站可以做动态视频倒计时南京百度