當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js crypto.randomFillSync()用法及代碼示例


crypto.randomFillSync()方法是加密模塊的內置應用程序編程接口,用於返回作為緩衝區參數傳遞的對象。

用法:

crypto.randomFillSync( buffer, offset, size )

參數:此方法接受上述和以下所述的三個參數:



  • buffer此參數保存Buffer,TypedArray或DataView類型的數據。
  • offset:它是一個數字,默認值為0。
  • size:這是一個數字,其默認值為(buffer.length-offset)。

返回值:它返回Buffer,TypedArray或DataView類型的數據。

以下示例說明了Node.js中crypto.randomFillSync()方法的使用:

範例1:

// Node.js program to demonstrate the  
// crypto.randomFillSync() method 
  
// Including crypto module 
const crypto = require('crypto'); 
  
// Defining buffer 
const buffer = Buffer.alloc(15); 
  
// Calling randomFillSync method with only  
// one parameter, buffer 
console.log(crypto.randomFillSync(buffer).toString('ascii')); 
  
// Calling randomFillSync method with  
// two parameters, buffer and offset 
crypto.randomFillSync(buffer, 4); 
console.log(buffer.toString('base64')); 
  
// Calling randomFillSync method with three  
// parameters, buffer, offset and size 
crypto.randomFillSync(buffer, 4, 4); 
console.log(buffer.toString('base64'));

輸出:

+~`Ld#%KT&6VF1e
K/7gTBXCFISh30dPoE5o
K/7gTO7iUG+h30dPoE5o

在此,最後兩個值相同。

範例2:

// Node.js program to demonstrate the  
// crypto.randomFillSync() method 
  
// Including crypto module 
const crypto = require('crypto'); 
  
// Creating TypedArray instance i.e, Int8Array 
const x = new Int8Array(5); 
  
// Calling randomFillSync with all its parameter 
console.log(Buffer.from(crypto.randomFillSync(x).buffer, 
         x.byteOffset, x.byteLength).toString('base64')); 
  
console.log(); 
  
// Creating TypedArray instance i.e, BigInt64Array 
const y = new BigInt64Array(4); 
console.log(Buffer.from(crypto.randomFillSync(y).buffer, 
          y.byteOffset, y.byteLength).toString('ascii')); 
console.log(); 
  
// Creating a DataView instance 
const z = new DataView(new ArrayBuffer(7)); 
console.log(Buffer.from(crypto.randomFillSync(z).buffer, 
            z.byteOffset, z.byteLength).toString('hex'));

輸出:

BQrDFc8=

EM4;)N+.qY, o-kp:b:C.

479eb4d9175221

在這裏,任何TypedArray或DataView實例都作為緩衝區傳遞。

參考: https://nodejs.org/api/crypto.html#crypto_crypto_randomfillsync_buffer_offset_size




相關用法


注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 Node.js | crypto.randomFillSync() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。