Node.js对TCP/Socket的实现之net模块TCP客户端详解

 2015年08月10日    2664

使用Node.js的net模块可以很容易的构建一个TCP客户端,TCP客户端可以用来连接至TCP服务端。建立TCP连接后,两者之间会基于流进行数据交互,一个是接收数据的可读流,一个是发送数据的可写流。创建TCP客户端可以使用构造函数net.Socket()或使用net. createConnection()net. connect())方法。

阅读全文

Node.js对TCP/Socket的实现之net模块TCP服务端详解

 2015年08月08日    1532

net模块可以创建TCP服务端,也可以创建TCP服务端客户端。创建一个TCP服务器,可以使用构造函数new net.Server()或使用其工厂方法net.createServer,这两种方法都会返回一个net.Server类,net.Server类继承了events,所以它也是个事件发射器。

阅读全文

Node.js对TCP/Socket的实现之net模块的使用

 2015年08月06日    5566

传输控制协议(Transmission Control Protocol,TCP)是Internet的基础协议之一,它位于IP协议之上,为应用层提供了一种可靠的传输机制,它基于三次握手协议建立连接。TCP是一种面向连接的协议,这意味着通信的两个终端之间需要建立专门的连接,该连接之间是双向的。Node.js中的net模块提供了对TCP协议的封装,使用net模块可以轻松的构建一个TCP服务器,或构建一个连接TCP服务器的客户端。

阅读全文

Node.js与网络:Node.js对TCP、UDP、Socket、HTTP等协议的实现和支持

 2015年08月05日    2751

OSI七层模型是不同计算机或通信系统间互联的标准体系和框架,在OSI中包括一系列标准和协议,如:TCP/IP、UDP、HTTP等,在Node.js中提供了对这些协议的实现和支持,如:net模块提供了对TCP、Socket的封装和支持,dgram模块提供了对UDP的封装和支持、http模块进一步封装了TCP协议提供了对HTTP的支持。本文对网络中相关协议、概念及Node.js中对相关协议的实现模块做简单介绍,后续会有对具体介绍模块及其功能文章。

阅读全文

Node.js计算文件md5或sha1等哈希值

 2015年07月30日    10566

前几天学习整理了Node.js的crypto模块,crypto模块实现了OpenSSL中相关加密码技术,可以用于文件啥希值计算、加密、解密、验证等。最近要做APP升级功能,为了验证APP文件的完整性,需要在服务端计算文件的MD5值,APP升级时会对文件的MD5值进行较验。

阅读全文

Node.js的加密模块crypto之使用ECDH类生成EC Diffie-Hellman交换密钥

 2015年07月24日    1082

ECDH是基于ECC(Elliptic Curve Cryptosystems,椭圆曲线密码体制,参看ECC)的Diffie-Hellma密钥交换算法。交换双方可以在不共享任何秘密的情况下协商出一个密钥。与Diffie-Hellman相比ECDH具有ECC的高强度、短密钥长度、计算速度快等优点。Node.js的crypto模块,封装了ECDH类,可以用这个类来生成EC Diffie-Hellman交换密钥。

阅读全文

Node.js的加密模块crypto之使用DiffieHellman类生成交换密钥

 2015年07月23日    538

Diffie-Hellman是一种建立密钥的方法,需要安全通信的双方可以用这个方法确定对称密钥,它所产生的密钥可用于加密、进一步的密钥管理或任何其它的加密方式。Node.js的crypto模块,封装了Diffie-Hellman类,可以用这个类来生成交换秘钥。

阅读全文

Node.js的加密模块crypto之使用Decipher类解密数据

 2015年07月20日    1511

前文件介绍了Node.js的crypto模块中Cipher类,Cipher类用于对流数据进行加密的。在数据传输前对数据进行加密码可以保证数据传输的安全。对于加密码的数据,在收到加密码数据后,需要对数据进行解密。crypto模块中封将了Decipher类,用于对Cipher加密数据的解密。

阅读全文

Node.js的加密模块crypto之使用Cipher类加密数据

 2015年07月20日    2275

Cipher类是Node.js的crypto模块的封装对象之一,与Hash类和Hmac类不同,Cipher类不是计算数据哈希值及密钥,而对数据本身进行加密的。创建Cipher类可以使用crypto模块的crypto.createCipher()crypto. createCipheriv()两个方法。

阅读全文