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

珠海网站建设 amp 超凡科技中国移动积分兑换商城官方网站

珠海网站建设 amp 超凡科技,中国移动积分兑换商城官方网站,wordpress自定义提醒用法,重庆有哪些互联网大厂OpenSSL 是一种开源的加密库#xff0c;提供了一组用于加密和解密数据、验证数字证书以及实现各种安全协议的函数和工具。它可以用于创建和管理公钥和私钥、数字证书和其他安全凭据#xff0c;还支持SSL/TLS、SSH、S/MIME、PKCS等常见的加密协议和标准。 OpenSSL 的功能非常…OpenSSL 是一种开源的加密库提供了一组用于加密和解密数据、验证数字证书以及实现各种安全协议的函数和工具。它可以用于创建和管理公钥和私钥、数字证书和其他安全凭据还支持SSL/TLS、SSH、S/MIME、PKCS等常见的加密协议和标准。 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.ho-use.cn/article/10812737.html

相关文章:

  • 高端网站建站建造师人才网
  • 免费源码html网站免费网站模板 带后台
  • 无锡网站制作方案网页如何设计
  • 手机做任务网站北京响应式网站建设公司
  • 广州建设网站专家做网站录入和查询需求
  • 网站做三方登陆需要注册公司不做网站维护工资多少
  • excel网站做链接性价比高seo排名
  • 高端的家居行业网站开发通辽网站建设招聘
  • 深圳建设网站的公司新乡网站建设方案
  • 内蒙古赤峰市建设局网站wordpress页面样板
  • 石狮网站开发如何看一个网站是谁做的
  • 网站建设平台报价做衣服 网站
  • 网站轮播图上海门户网站建设
  • 银行门户网站开发python代码大全
  • 桂林医院网站建设注册域名和购买域名
  • 自己做网站怎么编代码全网响应式网站
  • 网站建设在开封找谁做wordpress菜单栏不显示不出来
  • 玉林住房和城乡建设局网站官网网站建设邯郸
  • 买域名后 怎么做网站南宁建设网站培训
  • 网站后台管理系统需求网站建设温江
  • 聊城网站案例六安公司做网站
  • 河北省建设工程协会网站比较有趣的网站
  • 个人怎么做电影相关的网站网站建设用模板好吗
  • 呼市做网站基于asp网站开发 论文
  • ui的设计网站百度文章收录提交入口
  • 浙江网站建设与维护书我爱我家二手房房源官网
  • 扬州市广陵区城乡建设局网站wordpress英文切换
  • 搭建个网站需要多少钱m导航网站如何做淘宝客
  • 网站建设推广优化话术wordpress 高德地图
  • 呼和浩特网站建设电话网站建设制作设计营销 中山