node.js入门 - 11.api:DNS和加密
来源:互联网 发布:淘宝sku图片大小多少 编辑:程序博客网 时间:2024/05/16 19:54
今天介绍的是DNS和加密相关的api。
DNS
dns包括两个主要的方法:resolve(),把域名转换成dns记录;reverse(),把ip地址转换成域名。
dns.resolve()包括三个参数:域名,记录类型和回调函数。
var dns = require('dns');
dns.resolve('yahoo.com', 'A', function(e,r) { if (e) { console.log(e); } console.log(r);} );
回调函数返回两个参数,第一个是异常,第二个是处理结果。dns里面有一些方便的方法,如下面两个方法时等价的。
var dns = require('dns');dns.resolve('example.com', 'MX', function(e, r) { if (e) { console.log(e); } console.log(r);});dns.resolveMx('example.com', function(e, r) { if (e) { console.log(e); } console.log(r);});
加密
node使用OpenSSL实现它的加密。
哈希
首先介绍哈希算法的使用,使用crypto.createHash()方法可以得到哈希的实例,他提供的算法实现包括:md5,sha1,sha256,sha512,ripemd160。在下面的例子中,我们使用hash.update()加密字符串,使用hash.digest()输出字符串。
var crypto = require('crypto');var md5 = crypto.createHash('md5');md5.update('foo');md5.digest();
运行结果:
上面输出的结果有点怪异,是因为他是以2进制的形式展现的,通常我们需要使用16进制展现数据。给hash.digest()加个参数:hex。
var crypto = require('crypto');var md5 = crypto.createHash('md5');md5.update('foo');md5.digest('hex');
当你使用了hash.digest()之后,hash对象就使用完毕了,你不能再使用它了,否则就会报错。你只能重新创建一个新的hash对象。
var crypto = require('crypto');var md5 = crypto.createHash('md5');md5.update('foo');md5.digest();md5.digest('hex');
HMAC
我们使用crypto.createHmac()创建hmac的实例。
- node.js入门 - 11.api:DNS和加密
- Node.js v0.10.31API手册-DNS
- Node.js v0.10.31API手册-加密
- Node.js DNS模块
- Node.js安装和入门
- Node.js安装和入门
- 详解Node.js API系列 Crypto加密模块(1)
- 详解Node.js API系列 Crypto加密模块(2) Hmac
- 详解Node.js API系列 Crypto加密模块
- node.js入门 - 13.api:使用assert测试和虚拟机(VM)
- Node.js中的DNS模块
- node.js HMAC_SHA1加密
- node.js入门 - 12.api:进程(process)
- Node.js入门小记(三)Api之URL
- Node.js入门小记(四)Api之QueryString
- Socket.IO 和 Node.js 入门
- Node.js入门 - 概述和动手实验
- Socket.IO 和 Node.js 入门
- ArcGIS 10.1实现洪水淹没模拟演示
- 验证IP
- MySQL 架构 - MySQL 存储引擎 -InnoDB
- .NET 性能优化方法总结
- 数字转为中文数字,数字四舍五入,字符串转大写,字符串转Map--封装类
- node.js入门 - 11.api:DNS和加密
- Oracle获取系统的时间和日期
- ExcelReader
- 每天学习10句英语-第二天
- memcached 安装启动
- 在服务端接收和发送数据
- WinCE6.0 修改开机Logo方法集锦(一)
- myeclipse 10安装aptana
- 嵌入式文件系统镜像制作及烧写