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

学做网站论坛vip教程网站数据库 mysql

学做网站论坛vip教程,网站数据库 mysql,怎么做简单网站首页,外链发布工具目录 一、介绍 二、基本使用 1、Shell #xff08;1#xff09;文件加解密 #xff08;2#xff09;生成密钥文件 2、API #xff08;1#xff09;md5sum #xff08;2#xff09;AES256加解密 一、介绍 本篇博客重点不是详细描述 OpenSSL 的用法#xff0c;只…目录 一、介绍 二、基本使用 1、Shell 1文件加解密 2生成密钥文件 2、API 1md5sum 2AES256加解密 一、介绍 本篇博客重点不是详细描述 OpenSSL 的用法只是作为日常使用中的一个备忘方便下次使用时快速索引。后续还会继续补充。 二、基本使用 1、Shell 1文件加解密 需要自定义 key 和 iv #加密 openssl enc -aes-256-cbc -K 1234567890 -iv 123456 -in 明文文件 -out 加密文件 #解密 openssl enc -aes-256-cbc -d -K 1234567890 -iv 123456 -in 加密文件 -out 明文文件 2生成密钥文件 生成密钥文件 “ key_chatgpt ”用户名为 “ user01”两次输入密码。 [rootiZ2ze3k49h290jqnxmziclZ ssl_key]# echo -n user01: key_chatgpt [rootiZ2ze3k49h290jqnxmziclZ ssl_key]# openssl passwd key_chatgpt Password: Verifying - Password: [rootiZ2ze3k49h290jqnxmziclZ ssl_key]# cat key_chatgpt tpffy:4sx1qNlx9bbTM 这个密钥文件主要配合 nginx 服务器使用可以在用户访问网页时输入登录密码。 nginx 配置文件如下所示。 location /chat.html{auth_basic Restricted site;auth_basic_user_file /usr/local/nginx/html/ssl_key/key_chatgpt;root html; }界面如下所示进入 Web 界面后自动弹出。  2、API 1md5sum 计算文件的 md5 值用于校验文件是否发生改变。 #include stdio.h #include stdlib.h #include string.h #include openssl/md5.h//MD5输出的结果为16字节两个16进制字符表示一个字节因此结果应为32位 #define MD5_LEN 32 int cal_md5sum(char *filename, char *md5sum, int res_len) {FILE *file fopen(filename, rb);if ( !file ) {printf(File not found\n);return -1;}unsigned char md5_buf[MD5_DIGEST_LENGTH];MD5_CTX ctx;MD5_Init(ctx);const size_t bufSize 4096;unsigned char *buffer (unsigned char *)malloc(bufSize);int bytesRead 0;while ( ( bytesRead fread(buffer, 1, bufSize, file) ) ) {MD5_Update(ctx, buffer, bytesRead);}free(buffer);fclose(file);MD5_Final(md5_buf, ctx);char hex[MD5_LEN1] {0};memset(md5sum, 0, res_len);if ( res_len MD5_LEN 1 ){for (int i 0; i MD5_DIGEST_LENGTH; i) {sprintf(md5sum 2 * i, %02x, md5_buf[i]);}}else{printf(res len is invalid\n);return -1;} }int main(int argc, char *argv[]) {char *md5sum (char *)malloc(sizeof(char) * (MD5_LEN 1));if ( cal_md5sum(argv[1], md5sum, MD5_LEN 1) 0 ){printf(calculate failed\n);exit(-1);}printf(%s %s\n, md5sum, argv[1]);free(md5sum);return 0; } 运行截图如下所示。  2AES256加解密 可用于对 socket 通讯过程中的数据进行加解密。通讯两端需要自行协商 key 和 iv。 #include stdio.h #include stdlib.h #include string.h #include assert.h #include openssl/aes.h#define AESKEY df98b715d5c6ed2b25817b6f255411a1 //HEX密钥 #define AESIV 2841ae97419c2973296a0d4bdfe19a4f //HEX初始向量unsigned char* str2hex(char *str) {unsigned char *ret NULL;int str_len strlen(str);int i 0;assert((str_len % 2) 0);ret (char *)malloc(str_len / 2);for (i 0;i str_len; i i 2 ) {sscanf(stri, %2hhx, ret[i / 2]);}return ret; }int main() {AES_KEY encryptkey;AES_KEY decryptkey;unsigned char *key;unsigned char *stdiv;key str2hex(AESKEY);stdiv str2hex(AESIV);AES_set_encrypt_key(key, 256, encryptkey);AES_set_decrypt_key(key, 256, decryptkey);unsigned char plain_text [32];memcpy(plain_text, AES encrypt in openssl demo, 27);memset(plain_text 27, 0, 5);printf(plain_text: );for(int i 0; i 32; i){printf(%02X , plain_text[i]);}printf(\n);printf(plain_text : %s\n, plain_text);unsigned char encrypted_text [32];memset(encrypted_text, 0, 32);unsigned char tmpiv[16];memcpy(tmpiv, stdiv, 16);AES_cbc_encrypt(plain_text, encrypted_text, 32, encryptkey, tmpiv, AES_ENCRYPT);printf(encrypted_text: );for(int i 0; i 32; i){printf(%02X , encrypted_text[i]);}printf(\n);unsigned char decrypted_text [32];memset(decrypted_text, 0, 32);memcpy(tmpiv, stdiv, 16);AES_cbc_encrypt(encrypted_text, decrypted_text, 32, decryptkey, tmpiv, AES_DECRYPT);printf(decrypted_text: );for(int i 0; i 32; i){printf(%02X , decrypted_text[i]);}printf(\n);printf(decrypted_text: %s\n, decrypted_text);return 0; } 运行截图如下所示。 --------------------------------------- 废话分界线 ---------------------------------------------- --------------------------------------- 废话分界线 ---------------------------------------------- --------------------------------------- 废话分界线 ---------------------------------------------- OpenSSL是一种开放源代码的软件库包它为应用程序提供安全通信功能以避免窃听并确认通信双方的身份。 OpenSSL的全称是Open Secure Sockets Layer广泛被应用在互联网的网页服务器上。它是在上世纪90年代中期由Eric A. Young和Tim J. Hudson编写的旨在提供一个没有太多限制的开放源代码的安全套接层协议实现。作为一个强大的密码库OpenSSL不仅在网络传输层上保护数据安全还提供了丰富的加密、解密、证书管理等功能。下面将具体介绍OpenSSL 主要组成OpenSSL包含三个主要的功能部分SSL协议库、应用程序以及密码算法库。其中SSLSecure Sockets Layer协议是互联网上保密通讯的工业标准由Netscape公司提出目标是保证两个应用间通信的保密性和可靠性。加密算法OpenSSL支持多种对称加密和非对称加密算法。对称加密算法包括AES、DES、Blowfish等而非对称加密算法则有DH算法、RSA算法、DSA算法和椭圆曲线算法等。这些加密算法确保数据在传输过程中的安全性和完整性。密钥管理OpenSSL提供了密钥和证书管理功能支持ASN.1的证书和密钥相关标准包括对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64编解码功能。它还实现了私钥的PKCS#12和PKCS#8的编解码功能并提供了对私钥的加密保护。协议实现OpenSSL实现了SSL协议的多个版本包括SSLv2、SSLv3以及TLSv1.0。这些协议的版本在细节上略有不同但总体目标是通过加密和认证机制保障互联网通信的安全。应用场景OpenSSL广泛应用于各种网络安全协议中例如HTTPS就是将HTTP协议通过SSL加密实现安全的网页浏览。除此之外VPN、加密的电子邮件协议等也常用到OpenSSL。 总结来说OpenSSL不仅是一个功能强大的密码学库还是一个多用途的、跨平台的安全工具。其开源特性和广泛的适用性使其成为技术人员在进行安全开发时的重要选择。
http://www.hkea.cn/news/14585719/

相关文章:

  • 网站注册表单怎么做做视频网站采集需要多大的空间
  • 网页搜索历史怎么找到百度seo找哪里
  • 厦门淘宝网站设计公司郴州企业网站建设制作
  • 怎么可以自己做网站被百度收到团购网站 备案问题
  • 智冠宝企业网站管理系统软件项目管理工作内容
  • 紫竹桥网站建设wordpress 伪静态 tag
  • dede做电影网站做服装外贸网站
  • 模板网站和定制网站国外设计网站怎么打开
  • 保定专业做网站的公司购物系统论文
  • 网站系统平台建设中国企业500强排行榜2021
  • 网站标签管理wordpress ssl
  • 如何做网站淘宝客wordpress qq 微信登录
  • 温州快速网站推广公司中国的网站建设数据分析
  • 网站中文域名好不好wordpress 网站搭建
  • 学做网站要会哪些研发app大概要多少钱
  • wordpress网站不稳定网站黑链 工具
  • 旅游门户网站源码怎么做的网站建站网站我待生活如初恋
  • 大鹏外贸网站建设哈尔滨关键词优化平台
  • 小网站关键词wordpress 搬站
  • wordpress 设置站点地址wordpress图片被拉伸
  • 如何做简单的网站 域名邮箱浙江省建设执业资格中心网站
  • 国内网站建设公司白山北京网站建设
  • 喀什做网站wordpress footer
  • 某企业电子商务网站建设aoc24g2色域
  • 综合门户网站建设方案温州中小企业网站制作
  • 温州中小企业网站建设产品外观工业设计公司
  • 网站建设哪家g好上海广告公司排行榜
  • 地方性门户网站有哪些西安西郊网站建设
  • 快速整站排名seo教程营销软件开发
  • 电影网站织梦模版广州单管核酸采样点