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

Crypto.createCipheriv () Node.js में विधि

<घंटा/>

Crypto.createCipheriv () विधि पहले दिए गए कुंजी और प्राधिकरण कारक (iv) के लिए पारित एल्गोरिथम के अनुसार सिफर ऑब्जेक्ट बनाएगी और फिर वापस करेगी।

सिंटैक्स

crypto.createCipheriv(algorithm, key, iv, options)

पैरामीटर

उपरोक्त पैरामीटर नीचे वर्णित हैं -

  • एल्गोरिदम - यह एल्गोरिथम के लिए इनपुट लेता है जिसका उपयोग सिफर बनाने के लिए किया जाएगा। कुछ संभावित मान हैं:aes192, aes256, आदि।

  • कुंजी - यह कच्ची कुंजी के लिए इनपुट लेता है जिसका उपयोग एल्गोरिथम और iv द्वारा किया जाता है। संभावित मान प्रकार के हो सकते हैं:स्ट्रिंग, बफर, TypedArray या DataView। यह वैकल्पिक रूप से गुप्त प्रकार की एक प्रकार की वस्तु हो सकती है।

  • iv - इनिशियलाइज़ेशन वेक्टर के रूप में भी जाना जाता है। यह पैरामीटर iv के लिए इनपुट लेता है जो सिफर को अनिश्चित और अद्वितीय बना देगा। इसे गुप्त रखने की आवश्यकता नहीं है। इसके संभावित मूल्य प्रकार हैं:स्ट्रिंग, बफर, टाइपेडएरे, डेटा व्यू। यदि सिफर की आवश्यकता न हो तो यह शून्य हो सकता है।

  • विकल्प - यह स्ट्रीम व्यवहार को नियंत्रित करने के लिए एक वैकल्पिक पैरामीटर है। यह वैकल्पिक नहीं है जब सिफर का उपयोग CCM या OCB मोड में किया जाता है (जैसे 'aes-256-ccm')

उदाहरण

नाम के साथ एक फाइल बनाएं – createCipheriv.js और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है -

node createCipheriv.js

Cipheriv.js बनाएं

// A node demo program for creating the ECDH

// Importing the crypto module
const crypto = require('crypto');

// Initializing the algorithm
const algorithm = 'aes-256-cbc';

// Initializing the key
const key = crypto.randomBytes(32);

// Initializing the iv vector
const iv = crypto.randomBytes(16);

// Creating the function to encrypt data
function encrypt(text) {

// Creating the cipher with the above defined parameters
let cipher = crypto.createCipheriv(
   'aes-256-cbc', Buffer.from(key), iv);

let encrypted = cipher.update(text);

encrypted = Buffer.concat([encrypted, cipher.final()]);

// Returning iv and the encrypted data
return { iv: iv.toString('hex'),
   encryptedData: encrypted.toString('hex') };
}
// Printing public & private curve keys...
var output = encrypt("TutorialsPoint");
console.log(output);

आउटपुट

C:\home\node>> node createCipheriv.js
{ iv: '3dd899aa441c00d4d8d2ff95abb2e684',
encryptedData: 'b4985053bc1507fc25a4d99823dc8b03' }

उदाहरण

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

// A node demo program for creating the ECDH

// Importing the crypto module
const crypto = require('crypto');

// Initializing the algorithm
const algorithm = 'aes-192-cbc';

// Defining and initializing the password
const password = '123456789'

// Initializing the key
const key = crypto.scryptSync(password, 'TutorialsPoint', 24);

// Initializing the iv vector
const iv = Buffer.alloc(16, 0);

// Creating the cipher with the above defined parameters
const cipher = crypto.createCipheriv(algorithm, key, iv);

let encrypted = '';

// Reading and encrypting the data
cipher.on('readable', () => {
   let chunk;
   while (null !== (chunk = cipher.read())) {
      encrypted += chunk.toString('base64');
   }
});

//Handling the closing/end event
cipher.on('end', () => {
   console.log(encrypted);
});

// Printing public & private curve keys...
cipher.write('TutorialsPoint');
cipher.end();
console.log("Completed... !");

आउटपुट

C:\home\node>> node createCipheriv.js
Completed... !
uqeQEkXy5dpJjQv+JDvMHw==

  1. क्रिप्टो.प्राइवेटएन्क्रिप्ट () Node.js में विधि

    Crypto.privateEncrypt() का उपयोग फ़ंक्शन में दिए गए निजी कुंजी पैरामीटर का उपयोग करके दी गई डेटा सामग्री को एन्क्रिप्ट करने के लिए किया जाता है। सिंटैक्स crypto.privateEncrypt(privateKey, बफर) पैरामीटर उपरोक्त पैरामीटर नीचे वर्णित हैं - निजी कुंजी - इसमें निम्नलिखित डेटा प्रकार हो सकते हैं - ऑब

  1. क्रिप्टो.प्राइवेटडिक्रिप्ट () Node.js में विधि

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

  1. क्रिप्टो.getHashes () Node.js में विधि

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