• Node.js Video Tutorials

NodeJS - crypto.randomUUID() 方法


NodeJs 的Crypto randomUUID() 方法用於使用密碼學安全的隨機數生成器生成版本 4 的 UUID。此功能僅在某些受支援的瀏覽器中的安全上下文中(例如 HTTPS)才可訪問。

在 NodeJS 中,UUID 代表“通用唯一識別符號”。它是一個標準程式碼,包含一個 128 位的標識號,可以擴充套件到最多 36 個字元。

它通常用於為資訊分配唯一識別符號,而無需中央權威。

語法

以下是 NodeJs 的crypto.randomUUID() 方法的語法:

Crypto.randomUUID()

引數

  • 此方法不接受任何引數。

返回值

此方法返回一個字串,其中包含一個隨機生成的、36 個字元長的 v4 UUID。

示例 1

以下是 NodeJs crypto.randomUUID() 方法的基本示例。

const { randomUUID } = require('crypto');  // crypto module
const uuid = randomUUID(); // randomUUID
console.log(uuid);

輸出

以上程式產生以下輸出:

856eb718-c0d0-481b-ae8a-2f4f600bce97

示例 2

在建立可訪問的 API 時,如果要為客戶端生成唯一的 API 訪問金鑰,則可以使用 randomUUID()。

const { randomUUID } = require('crypto');

function generateApiKey() {
    const apiKey = randomUUID();
    console.log(`Generate API key: ${apiKey}`);
    return apiKey;
}

const apiKey = generateApiKey();

輸出

以上程式產生以下輸出:

Generate API key: ff0858e4-a9c7-4074-bf69-8675b7a067b0

示例 3

在 Web 應用程式中,您可以在使用者登入時使用 randomUUID() 為使用者建立唯一的會話識別符號 (ID)。

const { randomUUID } = require('crypto');
const sessionStore = {};

function createSession(userId) {
    const sessionId = randomUUID();
    sessionStore[sessionId] = { userId, createdAt: Date.now() };
    console.log(`Session created for user ${userId} with session ID: ${sessionId}`);
    return sessionId;
}

輸出

執行上述程式後,它將顯示以下輸出:

Session created for user user123 with session ID: 2df24095-f982-48d4-81c5-e5abc36c2ab4
nodejs_crypto.htm
廣告