当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Node.js Sign用法及代码示例

类:Sign

添加于:v0.1.92

Sign 类是用于生成签名的实用程序。它可以通过以下两种方式之一使用:

crypto.createSign() 方法用于创建Sign 实例。参数是要使用的哈希函数的字符串名称。 Sign 对象不能直接使用new 关键字创建。

示例:使用 Sign Verify 对象作为流:

const {
  generateKeyPairSync,
  createSign,
  createVerify
} = await import('node:crypto');

const { privateKey, publicKey } = generateKeyPairSync('ec', {
  namedCurve: 'sect239k1'
});

const sign = createSign('SHA256');
sign.write('some data to sign');
sign.end();
const signature = sign.sign(privateKey, 'hex');

const verify = createVerify('SHA256');
verify.write('some data to sign');
verify.end();
console.log(verify.verify(publicKey, signature, 'hex'));
// Prints: trueconst {
  generateKeyPairSync,
  createSign,
  createVerify,
} = require('node:crypto');

const { privateKey, publicKey } = generateKeyPairSync('ec', {
  namedCurve: 'sect239k1'
});

const sign = createSign('SHA256');
sign.write('some data to sign');
sign.end();
const signature = sign.sign(privateKey, 'hex');

const verify = createVerify('SHA256');
verify.write('some data to sign');
verify.end();
console.log(verify.verify(publicKey, signature, 'hex'));
// Prints: true

示例:使用 sign.update() verify.update() 方法:

const {
  generateKeyPairSync,
  createSign,
  createVerify
} = await import('node:crypto');

const { privateKey, publicKey } = generateKeyPairSync('rsa', {
  modulusLength: 2048,
});

const sign = createSign('SHA256');
sign.update('some data to sign');
sign.end();
const signature = sign.sign(privateKey);

const verify = createVerify('SHA256');
verify.update('some data to sign');
verify.end();
console.log(verify.verify(publicKey, signature));
// Prints: trueconst {
  generateKeyPairSync,
  createSign,
  createVerify,
} = require('node:crypto');

const { privateKey, publicKey } = generateKeyPairSync('rsa', {
  modulusLength: 2048,
});

const sign = createSign('SHA256');
sign.update('some data to sign');
sign.end();
const signature = sign.sign(privateKey);

const verify = createVerify('SHA256');
verify.update('some data to sign');
verify.end();
console.log(verify.verify(publicKey, signature));
// Prints: true

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 Sign。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。