51CTO博客开发羽飞
前面两节侧重于理论上介绍,因为有这些理论上的准备,后面的应用才可以得心应手。因为现在的基础安全库包括算法实际上大部分都已经实现了,并且都是免费的,所以掌握基本原理加上灵活运用就可以了。上一节还就SSL的实现作了一些简单介绍,SSL虽然是一个协议,但实际上大部分使用的时候都是Openssl的实现,因此差不多就当成一个应用了。另外Openssl也实现了许多基础的加密解密算法,因此,现在基于openss
前面简单讲了对称与非对称两种算法,后面还非对称的逆过程就是签名验证过程过程。从中可以明显看出,非对称因为私钥与公钥的不同的,因此解密数据所需要的时间非常长,因此出现了第三种解密加密方案就是两者结合起来进行加密。其思想也很简单,就是利用各自的长处。如下图所示: 显然这里对称加密的KEY被使用非对称进行加密,这样避免了全部数据的非对称加密,又比较好的解决了对称加密的KEY的传递问题。也就
Curl,官方解释是一个命令行工具,用来传输URI资源数据,支持HTTP,HTTPS,FTP,FTPS,IMAP等。支持HTTP GET/PUT, FTP Uploading等,也支持代理,SSL等,可以说是一个强大网络操作工具。最新版本是7.29. 官方网站是http://curl.haxx.se。 相对应的Curl还提供了一个libcurl作为一个容易使用的客户端URL传输库,同样支持以上特点
Sublime2目前已经是我最喜欢的编辑器,已经取代了NPP了。但是SUBLIME也是一个不完善的编辑器。因为半免费半收费支持也不好,所以只能自己动手,下面我以自己的两点体会来配置Python 开发: 1)支持外置python 编译器,修改python.sublime-build 将真实的python路径替换缺省的python名 2)支持python console,默认开发时不支持r
以前未试过,最近试了一下,发现用普通的网线直连两笔记本电脑,非常容易,无需特别复杂的设置。具体步骤如下: 1)设置其中一台笔记本网卡为192.168.1.1,默认网关为192.168.1.2.如下图所示: 2)设置另一台笔记本网卡为192.168.1.2,默认网关为192.168.1.1如下图所示: 3)在笔记本2上可以重新ENABLE一次网卡,当可以PING通后就可以传文件了,建
从通信的角度来说,拥有射频器件就可以实现无线通信了,但实际上通信受制于频率分配。国家掌握着频率分配权。每种频率按不同的目的如广播、雷达、卫星、微波、电视等进行分配。拿到合适的频率实际上就可以进行真正的通信了。如大部分的业余无线电就是这样干的。业余无线电通常是端对端的通讯。两边频率一对上就上可以了。广播、电视、移动通信等都是一对多的通信。这里需要指出的就是在空中传播的广播频率与真正的如手机、电视机内
Python同其它语言不一样,它一生下来就是为了快速解决日常的功能的。因此一些在其它语言中需要自己写一个函数或者调用一个第三方的类库实现的功能,在Python自带的类库中都已经实现了。所以写python要记得经常查它的手册看它是否已经提供了你想要的功能。另外一点就是Python是面向对象的语言同时又是解释性,还具有一些函数编程的功能。所以它的特性比较杂。但不是说它很复杂,只是因为有些点同一些常见的
最近几年从事通信软件开发,就发现通信软件里面采用的软件语言真是太多了,这实在让人痛苦,一方面你需要不停的学习,另一方面采用这些语言通常又都是使用其最简单的功能。大部分也不能体现出这些语言的优点。大部分时间都是为了贪图快速或者利用一个现成的或工具框架。最近因为一个测试框架的需要,这个框架是一个印度人开发的。其中使用的Python,于是我就学习了一段时间,这里将其中的一些基本知识记录如下。 【1】P
无线通信原理是非常复杂,看看3GPP的文档,规模上就可以让你吐血。但是想想搞通信的这么多人都拿着高薪一个人专一小点,就明白,想完全搞通通信是不可能。不过从另外一个角度来说,因为通信已经发展了这么多年,从2G、3G到4G,通信已经发展的非常模块化了。所以掌握基本的模块同时加上一些通用的通信知识实际上就可以从事通信开发了。通信开发实际上也不是非常需要专业的培训学习,它对从事计算机开发的人来说,也是一种
前面讲述的大部分操作都是针对本地服务器。实际使用中,因为我们通常都是分布的世界各地进行协同开发,因此一个中间的同步服务器是必不可少的。同步服务器架设比较简单,只需要一个简单的文件服务器就行了。通常客户端访问这台文件服务器可以通过直接文件读写file://,HTTP,SSH,git等四种方式,除了HTTP只能读取外,其它三种需要在服务端上安装GIT服务程序。下面分别讲述: 1)服务器部署,需要首先
前面讨论了Android中对资源的分类,在Android中,使用资源通常有两种方式,一种是代码中使用,另外一种是一些资源XML文件引用其它资源。这些资源如何进行区分呢?Android采用的是资源唯一ID方式,这里资源唯 一ID主要包括资源的类型和资源的名称。考虑到名称经常有重复的可能性,因此Android中对不同的资源设置了不同的存储目录,并且通常要求同一个res目录下的所有资源需要设置唯一资源名
如果使用传统的如CC开发的话,刚开始进行GIT开发可能不是太适应。这个主要是有些概念不一样。比喻在CC中,我们一般是围绕一个主分支进行开发,对一个文件来说,在主分支上会生成不同的版本。同样,我们在每一个版本下面创立新的次分支,在次分支上也会生出很多版本。最后合到主分支,产生下一个版本。那么在GIT中是如何实现这些关联呢?GIT中同样有分支、版本概念。但是没有Configspec概念。tag概念同L
想要深入的了解GIT,还得回到常见版本管理系统中的version概念。前面我们说到一个文件在不同的时间会产生不同的版本,那版本管理系统怎么记录这些不同的版本,是每一个时间保存一个文件,还是保存这些差异点,然后合并呢?这里通常有两种实现方式,一种是保存变更差异,如下图所示: 这种方式广泛采用在CVS/SVN中,好处是管理系统保存单个版本所用的空间不需要很大。但坏处很明显,比喻说我在版本4处想
Git是谁创造的?Linus Torvalds。他是谁,LINUX之父。Git的确切含义是什么?它是一个缩写吗,不是,它是英国俚语,其义是愚蠢或者令人不愉快的人。Linus是一个大牛,大牛看世界的角度就是与众不同,以前常见的版本管理系统也就是SCM(source code management)通常都是将源码文件抽像为一个一个对象,然后对这些对象进行内容大小的管理,通过不同版本上的差异比较进行版本
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号