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

公司网站百度搜索的描述怎么做如何做拉勾勾网站

公司网站百度搜索的描述怎么做,如何做拉勾勾网站,seo人员要先对网站进行诊断,开发网站公司收费参考文章https://blog.csdn.net/xray2/article/details/120497146 之所以多次一举自己写多一篇文章,主要是因为原文内容还是不够详细。而且我安装的时候碰到额外的问题。 1.首先确认一下自己的代码是Win32的还是Win64的,我操作系统是64的,忘…

参考文章https://blog.csdn.net/xray2/article/details/120497146

之所以多次一举自己写多一篇文章,主要是因为原文内容还是不够详细。而且我安装的时候碰到额外的问题。

1.首先确认一下自己的代码是Win32的还是Win64的,我操作系统是64的,忘记程序不知道什么时候改为32的了,后来又重新搞了一遍。

2.openssl官方貌似不提供线程的dll和lib文件,可能是处于安全吧,反正不深究了。真的安装好像也没花什么时间

3.下载源码

官网下载地址

选择合适自己的版本,注意的是3.x和1.x版本相差巨大的。由于我们用的外网正式服已经装了1.x的版本,所以我下载的是1.1.1t版本。不过安装流程应该没区别的。

4. 安装Perl

官网地址: Strawberry Perl for Windows

 我也不知道这个东西具体起到什么作用,不过大佬们都用这个,照抄就好了。另外官网也有64和32两种版本。由于我要生成的是32版本的openssl,所以下载了32版本,不过我觉得应该不影响的。

看看环境变量有没有,没有的加一下咯。 

测试一下是否安装成功,用cmd执行一下 perl -v

5.安装NASM

官网地址:  https://www.nasm.us/

我点了win32的

 安装完之后,顺手配一下NASM

6.打开控制台 

根据需要编译的平台选择相应的控制台,64位的选择x64,32位的选择x86

 

 我选的是x86这个,64的可以选x64那个。令我费解的是既然这个是不是也不影响生成的版本的呢,因为下面的命令行是要填生成的是64还是32的。

第一步下载的openssl解压一下,放到E盘,这里我第一次操作的时候,是进入E盘,就输入命令行的。结果生成了一大堆东西在E盘,而且好像东西都乱了。所以搞了第二次的时候,我直接创建了一个叫xxx的文件夹,把解压的内容放到xxx里面。

例如:cd xxx/openssl

 另外创建了个common目录在xxx目录下。

我不知道哪一步出错会导致生成的东西全乱了。反正现在的目录结构等下是没有用的。所以建议按我这样写好了。

命令行需要进入的是openssl的目录

执行:

 perl Configure VC-WIN32 no-asm --debug --prefix=E:\xxx\common\openSSL --openssldir=E:\xxx\common\ssl

 具体参数在openssl解压的目录下有个 INSTALL 文件可以查看

32位:VC-WIN32

64位:VC-WIN64A

不使用汇编代码:no-asm

Debug:--debug

Release:--release(默认)

最后安装的目录:--prefix=E:\Common\OpenSSL

一些配置说明文件存放目录:--openssldir=E:\Common\SSL

 这里不深究了,借别人的图用一下

然后执行:

nmake

 要等几分钟,没什么特别明显的信息,就不截图了。

跟着继续,有些文章说这一步可以跳过

nmake test

这一步确实又多了几分钟

最后是生成,我也不知道上面是干嘛了

nmake install

lib文件在lib目录下,在编译和链接的时候会用到,由于我的目录年代久远,不惧参考意义,所以写怎么引入到工程了

dll文件在bin目录下,在启动运行的时候会用到。这个放在程序启动的那个目录就行了。

 引入的头文件

 大概这样引入到工程

 最后,来个测试咯。

头文件

#ifndef _GateApp_Test_SSLTestManager_H_
#define _GateApp_Test_SSLTestManager_H_
#include "Common/EngineHeader.h"namespace GateApp
{class CSSLTestManager{private:CSSLTestManager() {};~CSSLTestManager() {};public:static CSSLTestManager* instance();public:string getMD5(const string& str);string getMAC();void test2();void runTestSSL();};
}#endif // _GateApp_Test_SSLTestManager_H_

 cpp文件

#include "Test/SSLTestManager.h" 
#include <iostream>
#include "openssl/evp.h"#include<iostream>
#include <WinSock2.h> 
#include "Iphlpapi.h" 
#include<string>
#include "openssl/md5.h"using namespace std;
#pragma comment(lib,"Iphlpapi.lib")
#pragma comment(lib,"libcrypto.lib")
#pragma comment(lib,"libssl.lib")GateApp::CSSLTestManager* GateApp::CSSLTestManager::instance()
{static CSSLTestManager _instance;return &_instance;
}string GateApp::CSSLTestManager::getMD5(const string& str)
{unsigned char md[16] = { 0 };MD5_CTX md5;MD5_Init(&md5);MD5_Update(&md5, str.c_str(), str.size());MD5_Final(md, &md5);char buf[33] = { 0 };char tmp[3] = { 0 };string st;  //结果for (auto i = 0; i < 6; i++){sprintf_s(tmp, "%02x", md[i]);   //转为u16进制strcat_s(buf, tmp);   //将tmp拼接到buf后}st = buf;//在字符串的第4个位置插入一个字符st.insert(4, "-");//在字符串的第8位置插入一个字符st.insert(8, "-");//删除最后一个字符st.erase(st.end() - 1);return st;
}string GateApp::CSSLTestManager::getMAC()
{byte mac[8] = { 0 };PIP_ADAPTER_INFO pIpAdapterInfo = new IP_ADAPTER_INFO();unsigned long stSize = sizeof(IP_ADAPTER_INFO);int nRel = GetAdaptersInfo(pIpAdapterInfo, &stSize);if (ERROR_BUFFER_OVERFLOW == nRel){delete pIpAdapterInfo;pIpAdapterInfo = (PIP_ADAPTER_INFO)new BYTE[stSize];nRel = GetAdaptersInfo(pIpAdapterInfo, &stSize);}if (ERROR_SUCCESS == nRel){while (pIpAdapterInfo){memcpy(mac, pIpAdapterInfo->Address, 8);break;//获取到第一个网卡的MAC }}if (pIpAdapterInfo)delete pIpAdapterInfo;char buf[33] = { 0 };char tmp[4] = { 0 };string MAC;for (DWORD i = 0; i < 6; i++){sprintf_s(tmp, "%02x-", mac[i]);   //转为u16进制strcat_s(buf, tmp);                //将tmp拼接到buf后}MAC = buf;MAC = MAC.erase(MAC.size() - 1);     //去除最后一个“-”return MAC;
}void GateApp::CSSLTestManager::test2()
{const char* src = "Test OpenSSL MD5!";unsigned char dst[0x10] = { 0 };unsigned int dst_len = 0x10;size_t src_len = strlen(src);EVP_MD_CTX* ctx;ctx = EVP_MD_CTX_new();EVP_MD_CTX_init(ctx);EVP_DigestInit(ctx, EVP_md5());if (EVP_DigestUpdate(ctx, src, src_len)){if (EVP_DigestFinal(ctx, dst, &dst_len)){EVP_MD_CTX_free(ctx);}}}void GateApp::CSSLTestManager::runTestSSL()
{ cout << "MAC地址加密:" << getMD5(getMAC()) << endl;test2();system("pause");
}

找个main函数调一下


int main(int argc, char* argv[])
{GateApp::CSSLTestManager::instance()->runTestSSL();return 0;
}

http://www.yayakq.cn/news/981335/

相关文章:

  • 为什么要建设旅游网站wordpress备份content
  • 响应式网站开发的贵阳做网站
  • discuz论坛网站做的门户做一元云购网站
  • 专业企业网站建设公司价格学历提升培训机构
  • 深圳网站开发建设专业深圳网站建设公司
  • 智能建站cms管理系统2345网址导航和ie浏览器一样吗?
  • 重庆购务网站建设个人网站子域名设置
  • 网站虚拟主机免备案wordpress主题报错
  • 做网站什么需要好中国十大网络营销平台
  • 网站页面设计知识郑州做小程序的公司
  • 自己怎么1做网站重庆航运建设发展有限公司网站
  • 深圳企业网站建设设计直播网站开发需要多少钱
  • 北京商城网站建设费用厚街网站建设价格
  • 安平网站建设找盛千外贸建站有什么用
  • 嘉兴外贸网站建迈网科技 官方网站
  • 宁海县建设局网站广告建设网站建设
  • 网站注册需要多少钱wordpress 下载主题慢
  • 长治市建设厅官方网站张雪峰谈电子商务
  • 网站怎么建设微信支付宝支付功能怎样在网上推广自己的产品
  • 如何建设简单网站互联网有哪些岗位
  • 北京 企业建网站网站建设客源开发
  • 网站建设请款报告js做示爱网站例子
  • 做网站费免图片网站网站建设收费明细表
  • 网站做背景不显示商城网站开发报价单
  • 四川城乡与住房建设部网站郑州app网站开发
  • 荣成网站开发一级造价工程师含金量
  • 自己怎么开网站网络公司专业做网站
  • dw制作wap网站怎么做如何在别人网站挂黑链
  • 网站建设实训该写哪些内容动易学校网站模板
  • 东莞建设网站平台网站建设的成本有哪些方面