- 博客(638)
- 资源 (126)
- 收藏
- 关注
原创 《openssl 编程》之 RSA
RSA算法是一个广泛使用的公钥算法。其密钥包括公钥和私钥。它能用于数字签名、身份认证以及密钥交换。RSA密钥长度一般使用1024位或者更高。RSA密钥信息主要包括[1]:Ø n:模数Ø e:公钥指数Ø d:私钥指数Ø p:最初的大素数Ø q:最初的大素数Ø dmp1:e*dmp1
2013-04-04 09:44:13 3082
原创 为标签页的标题添加序号
在~/.vimrc中添加如下:"为标签页的标题添加序号if exists("+showtabline") function! MyTabLine() let s = '' let wn = '' let t = tabpagenr() let i = 1 while i <= tabpagenr('$'
2013-04-01 22:30:11 1438
原创 DH 密钥交换
迪菲-赫尔曼通过公共信道交换一个信息,就可以创建一个可以用于在公共信道上安全通信的共享秘密(shared secret)。以下解释它的过程(包括算法的数学部分):Diffie–Hellman 密钥交换最简单,最早提出的这个协议使用一个素数p的整数模n乘法群以及其原根g。下面展示这个算法,绿色表示非秘密信息, and红色粗体表示秘密信息
2013-03-17 17:27:17 1600
原创 Openswan系列教程2:第一阶段数据包简析
<!--p.代码-western {border:1px dotted rgb(0,0,0); padding:0.05cm; font-family:"DejaVu Sans",sans-serif; font-size:9pt}p.代码-cjk {border:1px dotted rgb(0,0,0); padding:0.05cm; font-size:
2013-03-13 22:59:07 3002 2
原创 NFS刷新(同步)
为了让nfs客户端和服务器端同步,在mount时添加 -o sync选项。 前几天,一直被这个问题困扰。程序在nfs服务器端编译,在nfs客户端运行。发现,运行的程序始终是本次编译之前的,很差异!ls查看,文件的时间也正常,再运行,可以了!所以,这几天一直在运行程序前,添加了一次ls操作,很山寨。 今天有空查了一下,才发现是mount时,默认是异步的。添加 -o sync选项后
2013-03-02 22:11:56 6318
转载 Git详解之九 Git内部原理
Git 内部原理不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些内容对于初学者来说可能难以理解且过于复杂。正因如此我把这部分内容放在最后一章,你在学习过程中可以先阅 读这部分,也可以晚点阅读这部分,这完全取决于你自己。既然已经读到这了,就让
2013-01-25 22:38:41 1123
转载 Git详解之八 Git与其他系统
Git 与其他系统世界不是完美的。大多数时候,将所有接触到的项目全部转向 Git 是不可能的。有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常见的是 Subversion 。你将在本章的第一部分学习使用git svn ,Git 为 Subversion 附带的双向桥接工具。或许现在你已经在考虑将先前的项目转向 Git 。
2013-01-25 22:33:14 1036
转载 Git详解之七 自定义Git
自定义 Git到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它。 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求。通过这些工具,它会和你和公司或团队配合得天衣无缝。 7.1 配置 Git如第一章所言,用git config配置 Git,要做的第一件事就是设置名字和邮箱地址:$ git
2013-01-25 22:32:23 1505
转载 Git详解之六 Git工具
Git 工具现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力。接下来你将领略到一些 Git 可以实现的非常强大的功能,这些功能你可能并不会在日常操作中使用,但在某些时候你也许会需要。 6.1 修订版本(Revision)选择Git 允许你通过几种方法来
2013-01-25 22:31:07 1802
转载 Git详解之五 分布式Git
分布式 Git为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库。经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令。接下来,我们要学习下如何利用 Git 来组织和完成分布式工作流程。特别是,当作为项目贡献者时,我们该怎么做才能方便维护者采纳更新;或者作为项目维护者时,又该怎样有效管理大量贡献者的提交。 5.1 分布式工作
2013-01-25 22:28:36 1458
转载 Git详解之四 服务器上的Git
服务器上的 Git到目前为止,你应该已经学会了使用 Git 来完成日常工作。然而,如果想与他人合作,还需要一个远程的 Git 仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在 自己不开机的时候也能从仓库获取数据 — 拥有一个更稳定的公共仓库十分有用。因此,更好的合作方式是建立一个大家都可以访问的共享
2013-01-25 22:18:13 1239
转载 Git详解之三 Git分支
Git 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓是难以置信
2013-01-25 22:16:44 998
转载 Git详解之二 Git基础
Git 基础读完本章你就能上手使用 Git 了。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更 新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异
2013-01-25 22:13:35 1092
转载 Git详解之一 Git起步
起步本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。 1.1 关于版本控制什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,
2013-01-25 22:10:28 1098
原创 vim中taglist使用
本节所用命令的帮助入口::help helptags:help taglist.txt 使用下面的命令生成帮助标签:helptags ~/.vim/doc下面介绍常用的taglist配置选项,你可以根据自己的习惯进行配置: - Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量所定义的路径中,需要使用
2013-01-19 22:09:25 1020
原创 C和C++混合编程(__cplusplus使用)
第一种理解比如说你用C++开发了一个DLL库,为了能够让C语言也能够调用你的DLL输出(Export)的函数,你需要用extern"C"来强制编译器不要修改你的函数名。通常,在C语言的头文件中经常可以看到类似下面这种形式的代码:#ifdef __cplusplusextern "C" {#endif #ifdef __cplusplus }#endif
2013-01-15 22:18:22 1362
原创 Openswan系列教程1:安装并尝试
<!--@page {margin:2cm}h2 {margin-bottom:0.21cm}h2.western {font-family:"Liberation Sans",sans-serif; font-size:14pt; font-style:italic}h2.cjk {font-family:"Droid Sans Fallback";
2013-01-08 22:55:36 5101
原创 ubuntu12.04下GRUB2引导添加背景图片过程及遇到的问题
grub2的默认分辨率是640*480,背景一般是单调的紫红色显然这样的引导界面难以满足我们的审美要求,那么就自己动手,丰衣足食1.修改引导界面分辨率首先,在开机grub2引导界面,按C进入命令行界面,输入vbeinfo命令,查看支持的分辨率然后,在终端中执行sudo gedit /etc/default/grub然后在"GRUB_GFXMODE="后面
2013-01-02 15:39:53 1898
原创 ubuntu 12.04下firefox的flashplayer安装问题
1(必选)、解压从adobe官方网站 http://get.adobe.com/cn/flashplayer/ 下载下来的flash player的*.tar.gz文件2(必选)、将libflashplayer.so文件拷贝到/usr/lib/mozilla/plugins目录下 命令:sudo cp libflashplayer.so /usr/lib/m
2012-12-30 22:13:32 1131
原创 ubuntu12.04更新源
摘要:本文列出ubuntu 12.04 LTS更新源列表,内容为网友整理,此处为转载。因为我还在重庆读书,所以在设置自己的源列表的时候选择了电子科技大学的更新源,速度在1M+,更新起来还是比较安逸。之前使用过电信的网络(非教育网),选择cn99的源,速度也很可观。ubuntu系统与网络关系密切,往往在完成系统安装之后需要进行必需软件的安装及更新。方法网上都可以找得到,这里再重述一下。
2012-12-29 17:03:12 935
原创 C++中指针和引用的区别
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传
2012-12-06 22:57:48 1845 3
原创 openSUSE12.2-x86_64初体验
引用:http://en.opensuse.org/SDB:AMD_fglrxhttp://hi.baidu.com/loveybds/item/2a25e336affb0df5e7bb7a9ehttp://lug.ustc.edu.cn/sites/opensuse-guide/3d.php一、系统安装1、系统安装,没啥好说的,果断选择gonme。话说还没体验过gno
2012-12-01 22:06:53 1977
原创 Linux HPET Support
Linux HPET SupportIA-PC HPET (High Precision Event Timer) is a specification which was jointly developed by Intel and Microsoft in the early part of this decade.. The latest version is dated Oct
2012-08-14 23:04:21 14544
原创 时间戳计数器 TSC
TSC 是时间戳计数器的缩写,它是 Pentium 兼容处理器中的一个计数器,它记录自启动以来处理器消耗的时钟周期数。在每个时钟到来时,该计数器自动加一。因为 TSC 随着处理器周期速率的变化而变化,所以它提供了非常高的精确度。它经常被用来分析和检测代码。TSC 的值可以通过 rdtsc 指令来读取。TSC 的节拍还可以转换为秒,转换方法是将其除以 CPU 的时钟速率(可以从内核变量
2012-08-14 20:23:50 4171
原创 RTlinux下的精确定时
一般来说,普通的linux系统,定时精度只有十毫秒,即使在2..6.18以后,其误差也至少在半个毫秒,但在rtlinux下,其精度可达到微妙级,甚至纳秒,这对于实时性要求很高的工业控制系统来说,简直是一大福音,因为rtlinux是开源的,免费的,不过令人沮丧的是,rtlinux在2007年被Wind River公司收购了,从此rtlinux的最高版本只到2.6.9为止,不过有一个类似的实时系统RT
2012-08-11 08:57:20 2883 1
原创 新量子加密技术可挫败“最老练”黑客
加拿大多伦多大学罗海光教授领导的一个研究小组发现,一种新的量子加密方法或可挫败那些“最老练”的黑客。此项发现刊载于最新一期《物理评论快报》上。量子加密术原则上是一种阻止黑客的万无一失的方法,其可确保窃听者读取加密通信的任何尝试所引起的扰动都会被合法用户探测到,因此,在存在一个潜在黑客的情况下,量子加密术允许在两个用户之间传输一个绝对安全的密钥。该密钥使用光信号传输并用光子探测器接收。不过,黑客
2012-06-09 15:42:13 1282
原创 新密钥技术简化云端数据加密
静态数据一直是通过被称为公钥基础设施(PKI)的技术来保护:当数据被创建时,就会使用公钥对数据进行加密,并且从理论上讲,只有持有私钥的授权人才能够解密数据。当将这种数据保护办法扩展到云环境后,事情会变得更加复杂。由于在云环境中,IT团队缺乏对数据安全的直接控制,所以数据迁移到云环境将会给IT团队带来新的复杂的安全问题。此外,云供应商认为数据安全是需要共同承担责任,即服务供应商保证物理安全,用户
2012-06-09 15:41:43 2347
原创 IPSec NAT-T技术
在NAT技术和IPsec技术的应用都非常广泛。但从本质上来说,两者是存在着矛盾的。1.从IPsec的角度上说,IPsec要保证数据的安全,因此它会加密和校验数据。2.从NAT的观点来看,为了完成地址转换,势必会修改IP地址。 IPSec提供了端到端的IP通信的安全性,但在NAT环境下对IPSec的支持有限,AH协议是肯定不能进行NAT的了,这和AH设计的理念是相
2012-06-04 23:30:22 2484
原创 IPSec NAT 穿越概述
由于历史的原因,部署带 Internet 协议安全的第二层隧道协议(L2TP/IPSec)的问题之一在于无法定位网络地址转换(NAT)之后的 IPSec 对话方。 Internet 服务提供商和小型办公/家庭办公(SOHO)网络通常使用 NAT 来共享单个公共 IP 地址。 虽然 NAT 有助于节省剩余的 IP 地址空间,但是它们也给诸如 IPSec 之类的端对端协议带来了问题。一种称为 IP
2012-06-04 22:37:07 2990
原创 Linux内存点滴 用户进程内存空间
经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。VIRT , Virtual Image (kb)RES, Resident size (kb)SHR, Shared Mem size (kb)%MEM, Memory usage(kb)SWAP, Swapped size (kb)CODE, Code size (kb)
2012-05-14 23:19:40 1079
原创 AT&T的malloc实现--malloc的基础和本质
malloc作为标准c的一个内存分配调用想必每一个搞过C语言的都用过,然而在这个很常用的统一接口下面却有着N种不同的实现,linux的glibc有自己的实现,windows的crt有自己的实现,这些实现都有着自己的策略,特别是glibc的实现让人看的头晕,crt的实现虽然简单但是有着策略感觉很傻,最原始而且最能说明本质的实现我认为还是贝尔实验室的实现,很简单,前后不超过60行代码,让人读后心旷神怡
2012-05-11 23:33:36 1049
原创 inet_ntoa问题记录
今天在写代码时遇到一个问题并于在一个函数传递参数时连续调用inet_ntoa时出现的,下面是问题的模拟代码:16 char ip_addr1[]="192.168.1.20";17 char ip_addr2[]="192.168.1.40";1819 int main(int argc,char**argv)20 {21 struct
2012-05-10 23:31:38 1271
原创 inet_ntoa的实现
从一段代码开始:[cpp] view plaincopyprint?int test_ntoa() { struct sockaddr_in recv = {0}; struct sockaddr_in sa = {0}; recv.sin_addr.s_addr = -217732928; //192.168.5.24
2012-05-10 23:28:11 3680
原创 配置文件解析函数(C语言)
配置文件解析函数(C语言)// config.hstruct conf_info{ const char *name; void *object;};typedef struct conf_info Cconf_info; /* * the function of removing the free space.
2012-05-09 22:44:30 2489
原创 gdb+gdbserver调试
gdb+gdbserver 是调试目标板的常用方法. 看了网上的一些资料,加上我自己的一些体会, 写个完整的记录吧:我的环境如下:HOST 192.168.0.33 Target: 192.168.0.34 NFS共享目录: mount -t nfs -o nolock /home/itlanger/work /mnt编译arm-gdb:下载gdb源代码:$ cd do
2012-05-01 22:39:43 1747
原创 eclipse + cdt + gdb 进行arm linux 交叉调试
如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux平台时经常会抱怨没有一个好用的集成开发环境。和windows下常用的一些开发软件相比,Linux自带的一些开发环境使用起来要么界面和操作不够方便、友好,要么功能不全。其实我们完全可以在开源社区上找到操作方便,功能强大的开发环境。下面就向大家介绍一个能在Linux上运行,界面和功能与window
2012-05-01 21:55:27 1405
原创 gdbserver用法简介
嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。调试时,应用程序在嵌入式目标系统上运行,而gdb调试在Host端。一、编译安装gdb+gdbserver首先下载gdb源码,我下载的是gdb-6.6.tar.gz。$tar xvzf gdb-6.6.tar.gz$mkd
2012-05-01 21:54:20 4895
转载 gdb和gdbserver的安装和使用
一、 远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上 层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就目前而言,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monit
2012-05-01 21:53:42 1527
原创 linux core 配置与调试
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出 现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们 如何利用core文件找到出现崩溃的地方。何谓core文件当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。co
2012-03-28 21:42:02 1136
翻译 tmux 配置 & 使用
从 screen 切换到 tmux 不是平白无故的,自然有其充分的理由。我感觉使用 tmux 更加方便、灵活和高效。我非常喜欢 tmux 的这些方面:垂直分割窗口,当然水平也是可以的vi 或 emacs 按键绑定模式有多个粘贴缓冲,可完全由按键进行选取、复制、以及粘贴操作配置很容易,尤其是状态行脚本化,通过脚本可以方便的控制 tmux 会话有预设布局,可搜索窗口,自动命名窗口名称文档清晰、
2012-03-23 20:54:39 4600
lrzsz-0.12.20.tar
2010-10-24
SCPS_Documents.rar SCPS协议文档
2010-08-06
SCPS_RI_1_1_132源代码
2010-08-06
MINIMIZING THE EFFECTS OF LATENCY ON TCP OVER SATELLITE LINKS.pdf
2010-08-05
IPSec Acceleration Using a Programmable.pdf
2010-08-05
Network IO Acceleration in Heterogeneous Multicore Processors.pdf
2010-08-05
Compact_xPEP_datasheet.pdf
2010-08-05
issues-ipsec-geosynchronous-satellite-links.pdf
2010-08-05
libphonon.so.4.3.1
2010-06-27
Erlang_-_Concurrent_Functional_Programming_for_Telecommunications._A_Case_Study_of_Technology_Introd
2010-05-10
WindowBuilder_V1.8 for Eclipse 4.5(Mars)
2016-07-08
IEEE1619标准-用于等长加密算法.pdf
2013-04-28
openswan手册
2013-01-08
MTracer 2.1带注册码
2011-10-15
MediaWiki1.16.4
2011-05-02
Nvidia显卡驱动Linux版
2010-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人