- 博客(62)
- 问答 (2)
- 收藏
- 关注
原创 c++中读入逗号分隔的一组数据
如题,在面试和实际应用中,经常会碰到一个场景:读入以指定符号间隔的一组数据,放入数组当中。看了不少博客,总结了一个个人目前觉得比较简便的方法(其实和java比也一点不简便。。。。)基本思路就是:将输入的数据读到string中,然后将string中的间隔符号用空格代替后,输入到stringstream流中,然后输入到指定的文件和数组中去具体代码如下:// cin,.cpp : Def
2016-04-06 21:47:00
14870
原创 C++输入数据流用回车符判断终止
实际问题:很多读入数据都希望用回车来结束,比如输入一串double(输入时用空格隔开),存入到一个vector或数组中,最后用回车结束(关键是个数不限,所以不能用固定循环次数来限定它。 咋一看很简单,要编程突然还没头脑~~~关键是字符和整数或浮点数据的区别。 用cin.get()来获取流中的字符,然后判读是否为回车符,如果不是则将字符放回流中(unget)
2016-04-05 14:57:08
17065
转载 CSMA/CD和CSMD/CA
即载波监听多路访问/冲突检测方法 在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。 一、基础篇: 是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。 CSM
2016-02-26 09:07:17
9673
转载 对快速排序的简单分析
开篇在实际的过程中,总需要对一些数据进行排序,在众多的排序算法中,快速排序是较为常用的排序算法之一。而网上对于快速排序的中文资料还不是很全。写这篇博文主要记录一些自己对于快速排序的了解,以及对快速排序的性能的分析。我将在这里记录下我对快速排序的认识和学习过程 ,用尽可能简单明了的叙述来阐述我的理解。快速排序基于算法中很重要的思想是 分治。所以会先介绍一下分治思想,然后对算法原理进行介绍,接
2016-02-23 00:07:58
744
转载 static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较(使用vs2010所带的编译器) 转自 http://www.cnblogs.com/jerry19880126/隐式转换(implicit conversion)short a=2000;int b;b=a;short是
2016-02-16 14:57:06
627
原创 protocol buffer学习导读
Protocol Buffer技术详解(语言规范) 一、为什么使用Protocol Buffer? 在回答这个问题之前,我们还是先给出一个在实际开发中经常会遇到的系统场景。比如:我们的客户端程序是使用Java开发的,可能运行自不同的平台,如:Linux、Windows或者是Android,而我们的服务器程序通常是基于Linux平台并使用C++开发完成的。在这两种程
2015-12-23 14:55:07
972
转载 线程中CreateEvent和SetEvent及WaitForSingleObject的用法
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。WaitForSingleObject()等待,直到参数所指定的O
2015-12-15 09:35:16
846
转载 Windows(MFC)消息映射
消息映射是MFC应用程序的运行核心,Windows系统以消息的形式把输入传递给应用程序的窗口过程,窗口通过窗口过程来接收和处理消息,并把控制返回Windows系统。 1. 消息结构 消息是一个将事件和数据结合起来的集合。MSG结构含有来自windows应用程序消息队列的消息信息。typedef struct tagMSG { HWND h
2015-12-10 00:00:20
807
转载 Windows消息机制概述
消息是指什么? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向 Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及
2015-12-09 23:49:35
527
原创 AfxBeginThread和CreateThread具体区别
具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来比较繁琐一些,初学的人在用到的时候可能会产生不可预料的错误,建议多使用AfxBeginThread,是编译器对原来的CreateThread函数的封装,用与MFC编程(当然,只要修改了项目属性
2015-11-22 23:10:56
558
转载 OpenSSL 加密文件的完整实现代码
本例是用C语言实现的加密和解密,读取一个文本文件,对内容加密后写入到另一个文件中,然后再解密,写入到第三个文件中。#include #include #include "openssl/evp.h"#include "openssl/x509.h"//加密函数int Encrypt_File(){ unsigned char key[EVP_MAX
2015-10-16 12:02:40
952
转载 浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取
2015-10-16 09:36:11
549
转载 关于Chrome沙箱技术(沙盒技术)
苹果的.plist读写,感觉也类似沙箱技术。百度谷歌一下 , 说chrome是浏览器安全标准 , 运用了“沙盒”这个东东,收集了一些资料,归纳如下:沙箱其实就是一个硬盘过滤文件驱动,具体来说,就是你把要写的东西写到了硬盘上,但实际上并没有写到硬盘,而是到了一个转存处,读取内容需要判断是沙箱开启之前就存在的内容还是开沙箱之后写入的内容,要分别从不同的地方读取内容,重启之后把转存的地方
2015-10-16 09:12:55
19876
转载 彻底弄懂最短路径问题
一.问题引入 问题:从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径——最短路径。解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法,另外还有著名的启发式搜索算法A*,不过A*准备单独出一篇,其中Floyd算法可以求解任意两点间的最短路径的长度。笔者认为任意一个最短路算法都是基于这样一个事实:
2015-10-16 00:24:45
1330
转载 PKI体系及常见证书
1.PKI体系 1.1 PKI(Public Key Infrastructure,公钥基础架构)PKI是一套以公钥技术为基础、提供安全服务的架构, 由认证机构(CA), 数字证书库, 密钥备份和恢复, 证书作废系统, 应用接口等组成。CA是PKI的核心,CA的主要功能有:证书发放、证书管理(更新、撤消、验证)。几个基本概念:证书(Certificate):数字证书证明
2015-10-12 14:41:41
2631
转载 MFC打开一个文件方法汇总
第1个回答CFileDialog 文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY
2015-10-06 17:58:27
1647
转载 ASN.1编码学习笔记
From:http://blog.youkuaiyun.com/huzhiren/article/details/56876651.什么是ASN.1(抽象语法记法一)? ASN.1是ITU-T的一个标准集,它用来编码及表示通用数据类型,这些数据类型有可打印串值,八位位组串值,位串值,整数值以及用可移值方式组合而成的其他类型序列值.简单的说,ASN.1指定了以何种方式对
2015-09-22 16:34:13
1620
转载 加密算法介绍及加密算法的选择
加密算法介绍一. 密码学简介据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究
2015-09-22 13:57:46
28038
2
转载 虚拟地址、线性地址和物理地址的转换
一、 虚拟地址即逻辑地址,是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段
2015-09-21 02:33:25
832
转载 c++引用与指针的区别(着重理解)
★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 ★ 区别: 1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^_^
2015-09-17 16:39:44
475
转载 安全通信系统--OpenSSL的安装编译、证书生成
1.下载编译并且安装配置从OpenSSLd的官网上(www.openssl.org)下载最新版本或者稳定版本的OpenSSL(本次实验的版本是openssl-1.0.1c),然后解压压缩包。加压之后,由于环境是windows平台的,打开根目录下的windows安装帮助文件(INSTALL.W32),根据文件描述编译即可。需要注意的是,编译的时候需要安装Perl编译器,同时由于本次试验使用的
2015-09-16 16:56:08
524
转载 openssl建立证书,非常详细配置ssl+apache
一,什么是sslSSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WE
2015-09-16 14:31:57
2390
转载 总结之:CentOS6.5下openssl加密解密及CA自签颁发证书详解
前言 openSSL是一款功能强大的加密工具、我们当中许多人已经在使用openSSL、用于创建RSA私钥或证书签名请求、不过、你可知道可以使用openSSL来测试计算机速度?或者还可以用它来对文件或消息进行加密。正文 openssl是一个开源程序的套件、这个套件有三个部分组成、一是libcryto、这是一个具有通用功能的加密库、里面实现了众多的加密库、二是libssl、
2015-09-16 14:29:13
1159
转载 Transport Layer Security (TLS)
Posted by on 31 August 2012, 8:52 amTransport Layer Security (TLS): it relies on Reliable Transport Layer (e.g TCP), transparently supports any application protocols. One advantage of TLS
2015-09-16 14:22:56
1782
转载 SSL/TLS/WTLS原理
一 前言首先要澄清一下名字的混淆:1 SSL(Secure Socket Layer)是netscape公司设计的主要用于web的安全传输协议。这种协议在WEB上获得了广泛的应用。2 IETF(www.ietf.org)将SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0与SSL3.0的差别非常微小。由
2015-09-16 14:21:35
531
转载 SSL/TLS协议运行机制的概述
互联网的通信安全,建立在SSL/TLS协议之上。本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。一、作用不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。(1) 窃听风险(eavesdropping):第三方可以获知通信内容。
2015-09-16 14:20:20
389
转载 SSL与TLS的区别以及介绍
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。 TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数
2015-09-16 14:18:51
376
转载 Https(SSL/TLS)原理详解
概述Https(Hyper Text Transfer Protocol over Secure Socket Layer),是一种基于SSL/TLS的Http,所有的http数据都是在SSL/TLS协议封装之上传输的。Https协议在Http协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。所以,研究Https协议原理,最终其实是研究SSL/TLS协议。SSL协议
2015-09-16 14:17:18
648
转载 基于OpenSSL自建CA和颁发SSL证书
关于SSL/TLS介绍见文章 SSL/TLS原理详解。关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 。openssl是一个开源程序的套件、这个套件有三个部分组成:一是libcryto,这是一个具有通用功能的加密库,里面实现了众多的加密库;二是libssl,这个是实现ssl机制的,它是用于实现TLS/SSL的功能;三是openssl,是个多功
2015-09-16 14:15:20
3613
转载 SSL/TLS原理详解
关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 ,如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自建CA和颁发SSL证书 。SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰。正文开始。1. SSL/TLS概览1.1 整体结构SSL是一个介于H
2015-09-16 14:14:21
675
转载 基于OpenSSL自建CA和颁发SSL证书
关于SSL/TLS介绍见文章 SSL/TLS原理详解。关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 。openssl是一个开源程序的套件、这个套件有三个部分组成:一是libcryto,这是一个具有通用功能的加密库,里面实现了众多的加密库;二是libssl,这个是实现ssl机制的,它是用于实现TLS/SSL的功能;三是openssl,是个多功
2015-09-16 13:31:53
566
转载 HTTPS原理详解
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用
2015-09-16 11:40:15
548
转载 漫画解读数字证书与数字签名的区别
数字签名是什么?1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果。4.鲍勃收信后,用私钥解密,看到信件内容。5.鲍勃给苏珊回信,写完后用Hash函数,生成
2015-09-16 11:16:58
3873
2
转载 SSL ENGINE机制 二
1. 概念OpenSSL项目是一个开放源代码安全项目,它的目标是开发一个健壮的、商业级的、完整的开放源代码的工具包,用强大的加密算法来实现安全的Socket层(Secure Sockets Layer,SSL v2/v3)和传输层的安全性(Transport Layer Security,TLS v1)。它包含了完整的加密算法,数字签名算法及证书算法等。可以很好地保证数据
2015-09-14 12:06:14
861
转载 利用ENGINE替换OPENSSL中的加解密算法
一:ENGINE的目的:ENGINE是OPENSSL预留的加载第三方加密库,主要包括了动态库加载的代码和加密函数指针管理的一系列接口。如果要使用Engine(假设你已经加载上该Engine了),那么首先要Load该Engine(比如ENGINE_load_XXXX),然后选择要使用的算法或者使用支持的所有加密算法(有相关函数)。这样你的应用程序在调用加解密算法时,它就会指向你加载的动态库里的加
2015-09-14 11:43:25
1501
原创 使用OpenSSL API 进行安全编程
搜索 developerWorks developerWorks 中国技术主题Linux文档库使用 OpenSSL API 进行安全编程创建基本的安全连接和非安全连接学习如何使用 OpenSSL —— 用于安全通信的最著名的开放库 —— 的 API 有些强人所难,因为其文档并不完全。您可以通过本文中的提示补充这方面的知识,并驾驭该 API。在建立基本的连接之后,就可以查看如何使用 OpenSSL
2015-09-14 10:15:40
871
转载 tcp/ip协议入门
TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法
2015-09-11 01:36:27
746
原创 C++引用浅析以及引用和指针的区别
引用(reference)是c++的初学者比较容易迷惑的概念。下面我们比较详细地讨论引用。 一、引用的概念引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。例如: Point pt1(10,10);Point &pt2=pt1; 定义了pt2为pt1的引用。通过这样的定义,pt1和pt2表示同一对象。需要特别强调的是引用并不产生对象的副本,
2015-09-10 23:06:44
372
转载 PE文件结构
1.M_DOS头部结构体:IMAGE_DOS_HEADER STRUCT { +00h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执行文件标记 +02h WORD e_cblp // Bytes on last page of file +04h WORD e_cp // Pages in file +0
2015-09-10 12:39:23
1880
转载 程序员练级之路
建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉
2015-09-09 15:27:18
910
空空如也
openssl编译出错,真心快崩溃了。。。求解答
2015-09-11
关于c++的中函数指针作为参数的问题
2015-09-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人