NodeJS sign.sign(privateKey[, outputEncoding])函数

NodeJS sign.sign(privateKey[, outputEncoding])函数

Node.js是一个跨平台、开源的后端JavaScript运行环境,它使用V8引擎在Web浏览器外执行JavaScript代码。Node.js允许开发者使用JavaScript来创建命令行工具和服务器端脚本,即在将页面发送到用户浏览器之前在服务器上运行脚本。加密功能通过crypto模块提供,该模块包括对OpenSSL的哈希、HMAC、加密、解密、签名和验证方法的封装。

sign.sign() 方法根据传入的数据计算签名,它使用sign.update()或sign.write()进行计算。

语法:

sign.sign(privateKey[, outputEncoding])
JavaScript

参数:

  • privateKey: 私钥。如果是KeyObject,则可以直接传递,否则需要传递一个包含以下参数的对象:
    • dataEncoding: 要使用的数据编码。可以是’der’或’ieee-p1363’。
    • padding: RSA的可选填充值。
    • saltLength: 盐的长度。
  • outputEncoding: 返回值的编码格式。

返回值: 以Buffer或String形式的签名。

安装crypto模块:

npm install crypto
JavaScript

项目结构:

NodeJS sign.sign(privateKey[, outputEncoding])函数

package.json:

{ 
  "name": "crypto", 
  "version": "1.0.0", 
  "description": "", 
  "main": "index.js", 
    
  "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1"
  }, 
  "author": "", 
  "license": "ISC"
} 
JavaScript

示例1:

文件名:index.js

import { generateKeyPairSync, createSign } from 'crypto'
  
const { privateKey, publicKey } = generateKeyPairSync("rsa", { 
    modulusLength: 2048, 
}); 
  
let sign = createSign('SHA256'); 
  
let data = sign.sign(privateKey); 
console.log(data.toString('hex')); 
JavaScript

输出:

NodeJS sign.sign(privateKey[, outputEncoding])函数

示例2:

文件名:index.js

import { generateKeyPairSync, createSign } from 'crypto'
  
const { privateKey, publicKey } = generateKeyPairSync("ec", { 
    namedCurve: "sect239k1", 
}); 
let sign = createSign('SHA256'); 
  
let data = sign.sign(privateKey, 'base64'); 
console.log(data); 
JavaScript

输出:

NodeJS sign.sign(privateKey[, outputEncoding])函数

参考链接: https://nodejs.org/api/crypto.html#signsignprivatekey-outputencoding

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册