692 次浏览
crypto.scrypt() 方法提供了一个异步的 scrypt 方法实现。scrypt 可以定义为一个基于密码的密钥派生函数,它可以保护系统免受暴力攻击,并使其难以破解。但是,scrypt 函数在计算和内存方面都很昂贵。语法:crypto.scrypt(password, salt, keylen, [options], [callback])参数上述参数说明如下:password – scrypt 解码条目所需的密码字段。它可以是字符串、对象、TypedArray 等。salt – 此值应尽可能唯一。这主要用于加密数据。盐的最小建议长度为 16 字节。keylen – 此参数…… 阅读更多
358 次浏览
crypto.randomFillSync() 方法接收一个 buffer 参数,并通过用其加密值填充它来返回 buffer。顾名思义,这将是一个同步过程。语法:crypto.randomFillSync(buffer, [offset], [size])参数上述参数说明如下:buffer – 此字段包含数据内容。可能的 buffer 类型包括:字符串、TypedArray、Buffer、ArrayBuffer、DataView。buffer 的大小不能大于 2**31-1。offset – randomFill 将开始的偏移值。默认值为 0。size – 偏移量后的 buffer 大小,即 (buffer.length-offset)。此值不能大于 2**31-1。示例创建一个名为 randomFillSync.js 的文件,然后…… 阅读更多
191 次浏览
crypto.randomFill() 方法和 crypto.randomBytes() 方法几乎相同。两者之间的唯一区别是:在 randomFill() 方法中,第一个参数是一个将被填充的 buffer。它还有一个回调方法,只有在配置回调时才会在遇到错误时调用。语法:crypto.randomFill(buffer, [offset], [size], [callback])参数上述参数说明如下:buffer – 此字段包含数据内容。可能的 buffer 类型包括:字符串、TypedArray、Buffer、ArrayBuffer、DataView。buffer 的大小不能大于 2**31-1。offset – randomFill 将开始的偏移值。默认值…… 阅读更多
1K+ 次浏览
crypto.publicEncrypt() 用于使用参数中传递的公钥加密 buffer 参数中给定的数据。返回的数据可以使用相应的私钥解密。语法:crypto.publicEncrypt(key, buffer)参数上述参数说明如下:key – 它可以包含以下 5 种类型的数据:对象、字符串、Buffer 或 KeyObject。key – 此字段包含 PEM 编码的公钥或私钥。它可以是字符串、buffer 或 keyObject 类型。oaepHash – 此字段包含要用于 OAEP 填充和 MGF1 的哈希函数。默认值为:'sha1'。oaepLabel – 此字段包含…… 阅读更多
579 次浏览
crypto.publicDecrypt() 用于使用公钥解密 buffer 中给定的数据。此 buffer 使用相应的私钥(即 crypto.privateEncrypt() 方法)加密。语法:crypto.publicDecrypt(key, buffer)参数上述参数说明如下:key – 它可以包含以下 5 种类型的数据:对象、字符串、Buffer 或 KeyObject。passphrase – 这是私钥的可选密码。padding – 这是在 crypto.constants 中定义的可选值。encoding – 当 buffer、key、oaepLabel 或 passphrase 值为字符串时,需要使用的编码类型。buffer – 此字段包含要…… 阅读更多
597 次浏览
crypto.privateEncrypt() 用于使用函数中传递的给定私钥参数加密给定的数据内容。语法:crypto.privateEncrypt(privateKey, buffer)参数上述参数说明如下:privateKey – 它可以包含以下数据类型:对象、字符串、Buffer 或 KeyObject。key – 此密钥是 'PEM' 编码的私钥。密钥可以是字符串、buffer 或 KeyObject 类型。passphrase – 这是私钥的可选密码值。padding – 这是在 crypto.constants 中定义的可选值。buffer – 此字段包含要解密的数据内容。可能的 buffer 类型包括:字符串、TypedArray、Buffer、ArrayBuffer、DataView。示例创建一个名为…… 阅读更多
2K+ 次浏览
crypto.privateDecrypt() 用于使用参数中传递的私钥解密给定的数据内容,该私钥之前使用相应的公钥和 crypto.publicEncrypt() 方法加密。语法:crypto.privateDecrypt(privateKey, buffer)参数上述参数说明如下:key – 它可以包含以下 5 种类型的数据:对象、字符串、Buffer 或 KeyObject。oaepHash – 此字段包含要用于 OAEP 填充和 MGF1 的哈希函数。默认值为:'sha1'。oaepLabel – 此字段包含 OAEP 填充的值。如果未指定,则不使用标签。padding – 这是在 crypto.constants 中定义的可选值。buffer – 此…… 阅读更多
160 次浏览
crypto.getHashes() 方法将返回一个包含所有受支持的哈希算法名称的数组。crypto 包具有我们可以使用的许多哈希算法。但是最常用的密码算法是 'MD5 – 消息摘要算法 5'。语法:crypto.getHashes()参数由于它返回所有哈希算法的列表,因此不需要任何输入。示例创建一个名为 getHashes.js 的文件并复制下面的代码片段。创建文件后,使用以下命令运行此代码,如以下示例所示:node getHashes.jsgetHashes.js 实时演示// 获取所有哈希算法的 Node 演示程序…… 阅读更多
138 次浏览
crypto.createDiffieHellmanGroup() 用于创建预定的 DiffieHellmanGroup 密钥交换对象。一些受支持的 DiffieHellmanGroups 包括:modp1、modp2、modp5、modp14、modp16、modp17 等。使用此方法的好处是各方不需要生成或交换组模数,从而节省了处理时间。语法:crypto.getDiffieHelmmanGroup(groupName)参数上述参数说明如下:groupName – 它接收组名称的输入。输入类型为 'string'。示例创建一个名为 getdiffieHellman.js 的文件并复制下面的代码片段。创建文件后,使用以下命令运行此代码,如以下示例所示:node…… 阅读更多
258 次浏览
crypto.getCurves() 方法将返回一个包含所有受支持的椭圆曲线的名称的数组。crypto 包具有大量可用于创建椭圆曲线 Diffie-Hellman (ECDH) 密钥交换对象的椭圆曲线语法:crypto.getCurves()参数由于它返回所有椭圆曲线的列表,因此不需要任何参数。示例创建一个名为 curves.js 的文件并复制下面的代码片段。创建文件后,使用以下命令运行此代码,如以下示例所示:node curves.jscurves.js 实时演示// 获取所有椭圆曲线的 Node 演示程序 // 导入 crypto…… 阅读更多