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

单页淘客网站怎么建设珠海企业模板建站

单页淘客网站怎么建设,珠海企业模板建站,西安网站建设软件,衡水做网站找谁OpenSSL 是一种开源的加密库,提供了一组用于加密和解密数据、验证数字证书以及实现各种安全协议的函数和工具。它可以用于创建和管理公钥和私钥、数字证书和其他安全凭据,还支持SSL/TLS、SSH、S/MIME、PKCS等常见的加密协议和标准。 OpenSSL 的功能非常…

OpenSSL 是一种开源的加密库,提供了一组用于加密和解密数据、验证数字证书以及实现各种安全协议的函数和工具。它可以用于创建和管理公钥和私钥、数字证书和其他安全凭据,还支持SSL/TLSSSHS/MIMEPKCS等常见的加密协议和标准。

OpenSSL 的功能非常强大,可以用于构建安全的网络通信、加密文件和数据传输,还可以用于创建和验证数字签名、生成随机数等安全应用。它被广泛用于Web服务器、操作系统、网络应用程序和其他需要安全保护的系统中。

  • 官方地址: https://slproweb.com/products/Win32OpenSSL.html

如上所示的链接则是该库的官方网站,读者可自行下载对应版本的OpenSSL库,并运行安装程序,该库默认会被安装在根目录下,通过点击下一步即可很容易的完成安装配置。

该库安装成功后我们可以打开OpenSSL-Win32根目录,在目录中bin目录是可执行文件,OpenSSL的运行需要依赖于这些动态链接库,在使用时需要自行将本目录配置到环境变量内,其次include头文件lib静态库文件,在使用时读者需要自行配置到开发项目中,如下图所示;

OpenSSL库其本身就是一种加密与解密算法库,运用该库我们可以实现各类数据的加解密功能,首先我们以简单的Base64算法为例对该库进行使用。

Base64算法是一种用于将二进制数据编码为ASCII字符的算法。该算法将三个字节的二进制数据转换成四个字符的ASCII字符串,使得数据在传输时能够避免出现非法字符、特殊字符等问题,同时也可以将二进制数据转换为文本形式,方便在文本协议中传输,但读者需要注意Base64编码虽然可以作为一种简单的加密方式,但是它并不是一种真正的加密算法,因为它只是将数据转换为另一种形式,而没有对数据进行加密处理。

在OpenSSL中,使用Base64加密可以调用BIO_f_base64函数实现,该函数是一种BIO过滤器,用于将数据进行Base64编码和解码,如下代码中笔者分别封装实现了这两种加解密方法,其中base64Encode接收一个字符串并将该字符串压缩为编码字符串保存,与之相反base64Decode则用于将压缩后的字符串恢复。

#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/crypto.h>#pragma comment(lib,"libssl.lib")
#pragma comment(lib,"libcrypto.lib")// base64 编码
char* base64Encode(const char* buffer, int length, bool newLine)
{BIO* bmem = NULL;BIO* b64 = NULL;BUF_MEM* bptr;b64 = BIO_new(BIO_f_base64());if (!newLine){BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);}bmem = BIO_new(BIO_s_mem());b64 = BIO_push(b64, bmem);BIO_write(b64, buffer, length);BIO_flush(b64);BIO_get_mem_ptr(b64, &bptr);BIO_set_close(b64, BIO_NOCLOSE);char* buff = (char*)malloc(bptr->length + 1);memcpy(buff, bptr->data, bptr->length);buff[bptr->length] = 0;BIO_free_all(b64);return buff;
}// base64 解码
char* base64Decode(char* input, int length, bool newLine)
{BIO* b64 = NULL;BIO* bmem = NULL;char* buffer = (char*)malloc(length);memset(buffer, 0, length);b64 = BIO_new(BIO_f_base64());if (!newLine){BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);}bmem = BIO_new_mem_buf(input, length);bmem = BIO_push(b64, bmem);BIO_read(bmem, buffer, length);BIO_free_all(bmem);return buffer;
}

上述代码的使用也非常简单,如下所示我们通过传入一个input字符串,并将该字符串压缩后输出,接着再把该字符串解密后输出。

int main(int argc, char* argv[])
{// flag == false 将编码数据压缩为一行,否则原格式输出bool flag = false;std::string input = "Hello lyshark!";// 输出编码内容char* encode = base64Encode(input.c_str(), input.length(), flag);std::cout << "Base64 编码后: " << encode << std::endl;// 输出解码内容char* decode = base64Decode(encode, strlen(encode), flag);std::cout << "Base64 解码后: " << decode << std::endl;system("pause");return 0;
}

运行上述代码,读者可看到如下图所示的输出效果;

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

相关文章:

  • 建设网站的建议不花钱做网站
  • 广告毕业设计作品网站wordpress发表意见
  • 泛微 企业网站建设计划ps设计一个手机ui界面
  • 医疗网站怎么做seo界面设计包括哪三个方面
  • 上传网站过程创建一个软件需要多少钱
  • 做网站人家直接百度能搜到的网站开发公司模版
  • 青州网站设计网站开发 沈阳
  • 哪里可学做网站网站建设地图怎么设置
  • 简单网站制作代码全国网站集约化建设试点
  • 网站双收录怎么做301跳转wordpress您访问的网页出错
  • 黄山北京网站建设公司网站模版 dedecms
  • 哪个网站做ppt赚钱视频模板免费制作
  • 做网站中网页的大小一级造价师考试科目
  • 企业网站如何建设报告高新区区建设局网站
  • 现代郑州网站建设百度注册新账号
  • 成都网站建设询q479185700霸屏当今做那些网站能致富
  • 网站域名解析如何制作和设计公司网站
  • 花钱做网站注意些什么各大公司开源网站
  • 空壳网站主体注销淘宝店铺网站建设可行性报告
  • 东莞网站外包芒果视频怎样下载到本地
  • 龙华网站 建设信科网络在演示文稿上网站怎么做
  • 做网店有哪些网站wordpress微信
  • 南昌做网站比较好的公司有哪些深圳定制家具哪家性价比高
  • 各大门户网站网络运营者应当对其收集的用户信息严格保密
  • 常州做网站价位wordpress怎么中文字体
  • 做推广网站郑州最好的建站公司
  • 制作网站规划书自己有网站怎么做app
  • 网站建设丶金手指花总11俄文网站建设 俄文网站设计
  • 纪念馆网站建设方案上海知名的seo推广咨询
  • 音乐网站网页设计博物馆展厅设计