摘要:使用方法创建一个对象创建对象,加密算法为读取该文件,为是文件的对象创建一个摘要输出摘要算法算法将散列算法与一个密钥结合在一起,以阻止对签名完整性的破坏。
未完成
1. 加密crypto在crypto模块中,为每一种加密算法定义了一个类
可以使用getCiphers方法查看在Node.js中所有能够使用的加密算法crypto.getCiphers()
可以使用getHashes()方法查看在Node.js中所有能够使用的散列算法crypto.getHashes()
2. 散列算法散列(哈希)算法用来实现一些重要处理,允许对一段数据进行验证的前提下,将该数据模糊化,或者为一大段数据提供一个校验码。
使用createHash方法创建一个hash对象crypto.createHash("algorithm");
const crypto = require("crypto"); const fs = require("fs"); const shasum = crypto.createHash("sha1");// 创建hash对象,加密算法为sha1 let file = fs.ReadStream("./fs.js");//读取该文件,为s file.on("data", (d) => { console.log(d);//d是file文件的Buffer对象 shasum.update(d);// 创建一个摘要 }); file.on("end", () => { let d = shasum.digest("hex");// 输出摘要 console.log(d); }); /** *3. HMAC算法* 74b68572a7259696f8458606d89a91a206fc3fd0 */
HMAC算法将散列算法与一个密钥结合在一起,以阻止对签名完整性的破坏。
使用createHmac方法创建一个hmac对象crypto.createHmac(algorithm, key)
algorithm为可以在Node.js中使用的算法
key为一个字符串,指定一个PEM格式的密钥
在OpenSSL工具种,创建一个密钥openssl genrsa -out key.pem 1024
const crypto = require("crypto"); const fs = require("fs"); let pem = fs.readFileSync("./key.pem"); let key = pem.toString("ascii"); let shasum = crypto.createHmac("sha1", key); let file = fs.ReadStream("./fs.js"); file.on("data", (data) => { console.log("data.toString()"); console.log(data.toString()); console.log("shasum.update(data)"); console.log(shasum.update(data)); }); file.on("end", () => { console.log("shasum.digest("hex")"); console.log(shasum.digest("hex")); });
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/92953.html
摘要:然而,在处理流或文件流时,必须要处理二进制数据。因此,在中,定义了一个类,该类用来创建一个专门存放二进制数据的缓存区。因为在计算字符串的长度时,以位子作为一个单位,而在计算缓存区的长度时,以字节作为一个单位。 buffer对象 1. 什么是buffer 在客户端Javascript脚本代码中,对于二进制数据没有提供一个很好的支持。然而,在处理TCP流或文件流时,必须要处理二进制数据...
摘要:在中,提供模块,以实现域名查找及域名解析的处理。方法用于将一个域名解析为一组记录。记录是域名服务器记录,用来指定该域名由哪个服务器进行解析。回调函数有两个参数,是域名解析失败时触发的错误对象,参数为一个数组,其中存放了所有获取到的记录。 1. DNS 在Node.js中,提供DNS模块,以实现域名查找及域名解析的处理。 在DNS模块中,提供了三个主方法及一系列便捷方法。 reso...
摘要:对象与字符串对象的方法将对象中保存的数据转换为字符串第一个参数用于指定对象中保存的文字编码格式,默认参数值为第二个参数和第三个参数用于指定被转换数据的起始位置与结束位置,不包含结束位置对象的方法向已经创建的对象中写入字符串第一个参数为指定需 Buffer对象与字符串 1. Buffer对象的toString()方法 将Buffer对象中保存的数据转换为字符串 toString([e...
摘要:和的区别服务器使用协议服务器使用协议服务器需要向证书授权中心申请证书一般免费证书何绍需要交费在少许读客户端有要求的情况下也会要求客户端使用证书服务器于客户端之间传输的是明文数据而服务器于客户端之间传输的是经过安全加密后的密文数据服务器通常使 4. HTTP和HTTPS的区别 HTTPS服务器使用HTTPS协议,HTTP服务器使用HTTP协议. HTTPS服务器需要向证书授权(Ce...
阅读 2657·2021-10-22 09:55
阅读 1938·2021-09-27 13:35
阅读 1246·2021-08-24 10:02
阅读 1432·2019-08-30 15:55
阅读 1182·2019-08-30 14:13
阅读 3455·2019-08-30 13:57
阅读 1957·2019-08-30 11:07
阅读 2428·2019-08-29 17:12