Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

Node.js में crypto.privateEncrypt() मेथड


Node.js में crypto.privateEncrypt() मेथड का उपयोग फंक्शन में पास किए गए प्राइवेट की पैरामीटर का उपयोग करके दिए गए डेटा कंटेंट को एन्क्रिप्ट करने के लिए किया जाता है।

सिंटैक्स

crypto.privateEncrypt(privateKey, buffer)

पैरामीटर्स

उपरोक्त पैरामीटर्स का विवरण नीचे दिया गया है:

  • privateKey – इसमें निम्नलिखित डेटा प्रकार हो सकते हैं: Object, String, Buffer या KeyObject।

    • key – यह की एक 'PEM' एन्कोडेड प्राइवेट की है। की string, buffer या KeyObject प्रकार की हो सकती है।

    • passphrase – यह प्राइवेट की के लिए एक वैकल्पिक पासफ्रेज़ मान है।

    • padding – यह crypto.constants में परिभाषित एक वैकल्पिक मान है।

  • buffer – यह फील्ड डिक्रिप्ट किए जाने वाले डेटा कंटेंट को रखता है। संभावित बफर प्रकार हैं: string, TypedArray, Buffer, ArrayBuffer, DataView।

उदाहरण 1: पब्लिक की फाइल के साथ एन्क्रिप्शन (Base64 आउटपुट)

privateEncrypt.js नाम से एक फाइल बनाएं और नीचे दिया गया कोड स्निपेट कॉपी करें। फाइल बनाने के बाद, नीचे दिखाए अनुसार कोड चलाने के लिए निम्न कमांड का उपयोग करें:

node privateEncrypt.js

privateEncrypt.js

// Node.js प्रोग्राम crypto.privateEncrypt() मेथड के फ्लो का प्रदर्शन करने के लिए
// crypto और fs मॉड्यूल इम्पोर्ट करना
const crypto = require('crypto');
const fs = require("fs");

// generateKeyPairSync() मेथड का उपयोग करके की फाइल्स जेनरेट करना
function generateKeyFiles() {
    const keyPair = crypto.generateKeyPairSync('rsa', {
        modulusLength: 530,
        publicKeyEncoding: {
            type: 'spki',
            format: 'pem'
        },
        privateKeyEncoding: {
            type: 'pkcs8',
            format: 'pem',
            cipher: 'aes-256-cbc',
            passphrase: ''
        }
    });
    // निम्नलिखित फाइलों में कीज़ लिखना
    fs.writeFileSync("private_key", keyPair.privateKey);
}
// Generate keys मेथड कॉल करना
generateKeyFiles();

// पास की गई स्ट्रिंग को एन्क्रिप्ट करना
function encryptString(plaintext, publicKeyFile) {
    const publicKey = fs.readFileSync(publicKeyFile, "utf8");
    // पब्लिक की का उपयोग करके privateEncrypt() मेथड से डेटा एन्क्रिप्ट करना
    const encrypted = crypto.privateEncrypt(publicKey, Buffer.from(plaintext));
    return encrypted.toString("base64");
}

// निम्नलिखित डेटा एन्क्रिप्ट और डिक्रिप्ट किया जाएगा
const plainText = "TutorialsPoint!";
// स्ट्रिंग एन्क्रिप्ट करने के लिए नीचे दिए गए मेथड को कॉल करना
const encrypted = encryptString(plainText, "./private_key");
// प्लेन टेक्स्ट प्रिंट करना
console.log("Plaintext:", plainText);
// एन्क्रिप्टेड टेक्स्ट प्रिंट करना
console.log("Encrypted Text: ", encrypted);
console.log();

आउटपुट

C:\home\node>> node privateEncrypt.js
Plaintext: TutorialsPoint!
Encrypted Text: AhphoL+l/e739LkdfCAm2XuiddgTG7jjdGlLviiRqD4LyTtxJmpkg5bSkyI7Og4XlBtszBB9HLQRH T5j850ZAxGYA==

उदाहरण 2: बफर आउटपुट के साथ एन्क्रिप्शन

आइए एक और उदाहरण देखते हैं।

// Node.js प्रोग्राम crypto.privateEncrypt() मेथड के फ्लो का प्रदर्शन करने के लिए
// crypto और fs मॉड्यूल इम्पोर्ट करना
const crypto = require('crypto');
const fs = require("fs");

// generateKeyPairSync() मेथड का उपयोग करके की फाइल्स जेनरेट करना
function generateKeyFiles() {
    const keyPair = crypto.generateKeyPairSync('rsa', {
        modulusLength: 530,
        publicKeyEncoding: {
            type: 'spki',
            format: 'pem'
        },
        privateKeyEncoding: {
            type: 'pkcs8',
            format: 'pem',
            cipher: 'aes-256-cbc',
            passphrase: ''
        }
    });
    // निम्नलिखित फाइलों में कीज़ लिखना
    fs.writeFileSync("private_key", keyPair.privateKey);
}
// Generate keys मेथड कॉल करना
generateKeyFiles();

// पास की गई स्ट्रिंग को एन्क्रिप्ट करना
function encryptString(plaintext, publicKeyFile) {
    const publicKey = fs.readFileSync(publicKeyFile, "utf8");
    // पब्लिक की का उपयोग करके privateEncrypt() मेथड से डेटा एन्क्रिप्ट करना
    const encrypted = crypto.privateEncrypt(publicKey, Buffer.from(plaintext));
    return encrypted;
}

// निम्नलिखित डेटा एन्क्रिप्ट और डिक्रिप्ट किया जाएगा
const plainText = "TutorialsPoint!";
// स्ट्रिंग एन्क्रिप्ट करने के लिए नीचे दिए गए मेथड को कॉल करना
const encrypted = encryptString(plainText, "./private_key");
// प्लेन टेक्स्ट प्रिंट करना
console.log("Plaintext:", plainText);
// एन्क्रिप्टेड टेक्स्ट प्रिंट करना
console.log("Encrypted Buffer: ", encrypted);
console.log();

आउटपुट

C:\home\node>> node privateEncrypt.js
Plaintext: TutorialsPoint!
Encrypted Buffer: 

  1. - Node.js में crypto.publicDecrypt() मेथड

    Node.js में crypto.publicDecrypt() मेथड का उपयोग पब्लिक की के साथ बफर में दिए गए डेटा को डिक्रिप्ट करने के लिए किया जाता है। यह बफर संबंधित प्राइवेट की का उपयोग करके एन्क्रिप्ट किया गया था, यानी crypto.privateEncrypt() मेथड द्वारा। सिंटैक्स crypto.publicDecrypt(key, buffer) पैरामीटर्स उपरोक्त पैर

  1. - Node.js में crypto.privateDecrypt() मेथड

    Node.js में crypto.privateDecrypt() मेथड का उपयोग पैरामीटर में पास की गई प्राइवेट की का उपयोग करके दिए गए डेटा कंटेंट को डिक्रिप्ट करने के लिए किया जाता है, जिसे पहले crypto.publicEncrypt() मेथड के साथ संबंधित पब्लिक की का उपयोग करके एन्क्रिप्ट किया गया था। सिंटैक्स crypto.privateDecrypt(privateKe

  1. - Node.js में crypto.getHashes() मेथड

    Node.js में crypto.getHashes() मेथड एक सरणी (array) वापस करता है जिसमें सभी समर्थित हैश एल्गोरिदम के नाम होते हैं। crypto पैकेज में हैश एल्गोरिदम की एक विशाल सूची होती है जिसका हम उपयोग कर सकते हैं। लेकिन सबसे अधिक उपयोग किया जाने वाला सिफर एल्गोरिदम MD5 - Message-Digest Algorithm 5 है। सिंटैक्स c