自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

转载 数字签名

转自:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html数字签名是什么?1、鲍勃有两把钥匙,一把是公钥,另一把是私钥。2、鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3、苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4、鲍勃收信后,用私钥解密,就看到了信件内容。这样要强调的是,只要鲍勃的私钥...

2020-12-31 13:23:00 109

转载 密码学

文章转自:http://www.ruanyifeng.com/blog/2006/12/notes_on_cryptography.html1、加密方法可以分为两大类。一类是单钥加密,还有一类叫做双钥加密。前者的加密和解密过程都用的同一套密码。后者的加密和解密过程用的是两套密码。历史上,人类的加密方法都是前一种,比如二战期间德军用的Enigma电报密码。莫尔斯电码也可以看作是一种私钥加密方法。2、在单钥加密的情况下,密钥只有一把,所以密钥的保存变得很重要。一旦密钥泄漏,密码也就被破.

2020-12-31 10:36:42 129

原创 进程间通信-信号量

1、信号量信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),它和管道不同,它不以传送数据为主要目的,它主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时刻只有一个进程独享。临界资源:具有排他性的资源临界区:访问临界资源的代码段2、信号量的工作原理由于信号量只能进行两种操作,等待和发送信号,即P, V操作:P操作:上锁,如果计数器的值大于0,就减1;如果它的值为0,就挂起该进程的执行..

2020-12-30 18:19:41 376 1

原创 进程间通信-管道

管道(PIPE):我们把一个进程连接到另一个进程的一个数据流称之为管道,是Unix中最古老的进程间通信方式。我们可以分为匿名管道和命名管道。1、匿名管道特点:只能用于具有血缘关系的进程之间通信 生命周期随进程,进程退出,管道释放 管道是半双工的,数据只能从一个方向传输 管道是基于字节流的 管道是自带同步机制的,在保证数据安全的前提下,按照特定顺序访问临界资源函数原型:#include <unisted>int pipe(int fd[2]);功能:创.

2020-12-30 18:14:58 75

原创 进程间通信-共享内存

共享内存(Shared Memory):映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问优点:无须复制,快捷,信息量大 缺点: 通信是通过将共享空间缓冲区直接附加到进程的虚拟地址空间中来实现的,因此进程间的读写操作的同步问题 利用内存缓冲区直接交换信息,内存的实体存在于计算机中,只能同一个计算机系统中的诸多进程共享,不方便网络通信 共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有.

2020-12-30 18:04:37 295

原创 线程池使用

场景:初始化时,创建好线程池,使用时,根据资源使用情况,调用多少个线程。避免了程序循环执行时,需要不停创建线程的情况。上源码:/************************************************************************* module : 线程池头文件* file name : lib_thread_pool.h* Author : * version : V1.0* DATE : * directory .

2020-12-29 18:38:45 100

原创 多线程pthread使用

pthread_create是操作系统创建线程的函数。它的功能是创建线程,线程创建之后,执行对应的线程函数。1、pthread_create头文件:#include <pthread.h>原型:int pthread_create(pthread_t *tidp,const pthread_attr_t *attr,(void*)(*start_rtn)(void*),void *arg);作用:创建一个线程编译链接参数:-lpthread返回值:线程创建成功返回0,...

2020-12-29 18:20:22 856

原创 进程间通信-消息队列

场景:同一台linux设备下,多个进程之间数据要互相通信,就可以使用消息队列进行数据传输。消息队列(Message Queue):是消息的链表,存放在内核中并由消息队列标识符标识优点:可以实现任意进程间的通信,并通过系统调用函数来实现消息发送和接收之间的同步,无需考虑同步问题,方便 缺点:信息的复制需要额外消耗 CPU 的时间,不适宜于信息量大或操作频繁的场合消息队列提供了一个从一个进程向另一个进程发送数据块的方法,每个数据块都可以被认为是有一个类型,接收者接受的数据块可以有不同的类型。.

2020-12-29 18:06:14 389

原创 TCP/UDP分析

TCPTCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,其传输的单位是报文段。特征:1、面向连接2、只能点对点(一对一)通信3、可靠交互4、全双工通信5、面向字节流TCP 如何保证可靠传输:1、确认和超时重传2、数据合理分片和排序3、流量控制4、拥塞控制5、数据校验TCP:状态控制码(Code,Control Flag),占 6 比特,含义如下..

2020-12-29 17:19:38 319

原创 应用层部分协议

DNSDNS(Domain Name System,域名系统)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 端口 53。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。域名:域名 ::= {<三级域名>.<二级域名>.<顶级域名>},如:blog.huihut.comFTP(File Transfer Protoco.

2020-12-29 16:53:34 132 1

原创 C#安装Newtonsoft.Json并调用

Newtonsoft.Json官网:https://www.newtonsoft.com/json首先安装Newtonsoft.Json1、项目->管理NuGet程序包2、下载Newtonsoft.Json3、代码中添加usingNewtonsoft.Json;即可使用解析json的简单demo:public class Account{ public string Email { get; set; } pu...

2020-12-29 14:13:46 4119

原创 C# byte[]与string互转

byte[]转string:string str = System.Text.Encoding.Default.GetString(byteArray);string转byte[]:byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);ASCIIbyte[]转string:string str = System.Text.Encoding.ASCII.GetString (byteArray);.

2020-12-29 14:07:18 701

原创 C#RSA加解密

场景:为了支持与JAVA端进行通信数据的加解密,C#编写的客户端使用BouncyCastle进行rsa非对称加密。BouncyCastle安装:直接在Visual 2019 项目->管理Nuget程序包,搜索安装。上源码:using System;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Linq;using System.Text;using .

2020-12-29 14:04:27 2199 1

原创 openssl aes对称加密

场景:使用aes结合base64对数据进行加解密。源码:/*aesEncDec.h*/#ifndef _AESENCDEC_H_#define _AESENCDEC_H_#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <openssl/aes.h>#define MINLEN 128#defi

2020-12-28 15:45:39 468

cJSON源码,用于C语言json数据的构建与解析

cJSON源码,用于C语言json数据的构建与解析

2021-06-11

openvas9源码+依赖包源码

openvas9源码以及各种依赖包源码,便于研究openvas9。

2019-01-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除