CryptoPP使用介绍

Crypto++是个免费的C++加解密类库,由于资格太老、持续更新,最新版本到了CryptoPP 5.6,对天缘而言,第一眼看到CryptoPP就感觉头大,根目录下放置大量单源文件、编译文件、项目文件,再加上多平台和多编译器支持,文件几乎又多了一倍,而且还是都混到一起,直接就让人望而却步。毕竟Crypto是个功能完整,且经过大量用户使用考验的开源库。所以,皱眉学习汇总一下,遂成此文。

官方网址:http://www.cryptopp.com/

本文测试环境:Windows7 SP1+VC6,测试工程名为Test。用VC打开CryptoPP工程文件,会发现有四个子工程:

  • cryptdll – 生成cryptopp.dll动态库
  • dlltest – 用来测试cryptopp.dll,依赖cryptdll工程
  • cryptlib – 生成cryptlib.lib静态库
  • cryptest – 用来测试cryptopp,依赖cryptlib工程

所以,我们有两种使用CryptoPP方法,一种是静态链接,还有一种是动态链接,使用对应的工程编译即可,区别就不说了,我们下文以静态链接为例,介绍几种常用加解密算法使用。

一、编译cryptlib

首先需要编译cryptlib,最后得到cryptlib.lib文件。
继续阅读 »

vs2008编译zlib库32位及64位

这里以1.2.8为例,当前最新的版本1.2.8,方法应该都是通用的。

32位版本

1、下载并解压缩zlib-1.2.8.tar.gz
2、进入vs2008命令提示,执行批处理:zlib-1.2.8\contrib\masmx86\bld_ml32.bat
3、进入zlib-1.2.8\contrib\vstudio\vc9\目录,用vs2008打开zlibvc.sln方案文件
4、看到方案下有很多项目,其中zlibstat是zlib静态库,zlibvc是动态库
5、在工具栏中将“解决方案平台”改为“Win32”,编译即可
继续阅读 »

ar 打包库到另外一个库中

ar语法:

ar 命令:将多个文件打包到一个文件中,也可以从打包的文件中提取文件,且打包的文件保留原来的属性

必要参数

选择参数

继续阅读 »

rsync 文件同步/传输,增量备份传输利器使用教程

刚刚看到一个老牌的ECVPS跑路了,在这里再说一下再可靠的服务商也要做好留一手的准备,谁还没可能有个小灾小难,做好备份,多处备份,你手里有备份才是王道。作为站长或者运维,在服务器上从这台同步到另外一台是很频繁的操作,之前我们介绍过用scp传输文件或目录,但是不能判断文件是否更改,是否有文件增删,每次都是覆盖,会浪费掉很多时间。今天推荐的是另外一个利器rsync,全称remote synchronize。它的特性如下:安装方便、可以镜像保存整个目录树和文件系统、可以容易的保持原来文件的权限、时间、软硬链接等等、文件传输效率高、可以使用ssh等方式来传输文件也可以通过直接的socket连接等。
继续阅读 »

Linux SSH远程文件/目录传输命令scp

相信各位在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget http://www.xxx.net/testfile.zip 就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用scp命令就会排上用场。
继续阅读 »

Wireshark抓包常见问题解析

1.   tcp out-of-order(tcp有问题)

解答:

1)、    应该有很多原因。但是多半是网络拥塞,导致顺序包抵达时间不同,延时太长,或者包丢失,需要重新组合数据单元 因为他们可能是通过不同的路径到达你电脑上面的。

2)、    CRM IT 同仁上礼拜来跟我反应一个问题,由他们客服系统藉由邮件主机要寄送给客户的信件,常常会有寄送失败的问题,查看了一下 Log,发现正常的信件在主机接收 DATA 完成后会记录收到的邮件大小,然后开始进行后续寄送出去的处理,但这些有问题的寄送,都会发生 DATA 没有传送完,Server 就记录已读取到 EOF,然后结束连线,也因此这封信就不算顺利的送到 Server 上来。
继续阅读 »

Git工作流指南:Pull Request工作流

Pull Requests是Bitbucket上方便开发者之间协作的功能。提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论。
pull-request-bitbucket
继续阅读 »

Git工作流指南:Forking工作流

Forking工作流和前面讨论的几种工作流有根本的不同。这种工作流不是使用单个服务端仓库作为『中央』代码基线,而让各个开发者都有一个服务端仓库。这意味着各个代码贡献者有2个Git仓库而不是1个:一个本地私有的,另一个服务端公开的。
git-workflows-forking
继续阅读 »

Git工作流指南:Gitflow工作流

git-workflows-gitflow

这节介绍的Gitflow工作流借鉴自在nvieVincent Driessen
继续阅读 »

Git工作流指南:功能分支工作流

git-workflow-feature-branch-1

一旦你玩转了集中式工作流,在开发过程中可以很简单地加上功能分支,用来鼓励开发者之间协作和简化交流。
继续阅读 »