मैं वर्तमान में स्ट्रिंग्स को एन्क्रिप्ट करने के लिए एनपीएम मॉड्यूल क्रिप्टो-जेएस का उपयोग कर रहा हूं। कोड निम्नलिखित हैं:

CryptoJS.AES.encrypt("hello", "secrete_key").toString()

यह एक एन्क्रिप्टेड स्ट्रिंग को प्राप्त करता है: U2FsdGVkX1/G276++MaPasgSVxcPUgP72A1wMaB8aAM=

ध्यान दें कि एन्क्रिप्टेड स्ट्रिंग में, / + और = जैसे विशेष प्रतीक हैं। ये जेनरेट किए गए विशेष प्रतीक मेरे ऐप में समस्या पैदा करते हैं। क्या कोई तरीका है कि मैं एक स्ट्रिंग को केवल अल्फान्यूमेरिकल में एन्क्रिप्ट कर सकता हूं? मुझे क्रिप्टो-जेएस करने का तरीका पसंद है, क्योंकि यह आसान है। मुझे केवल स्ट्रिंग, और पासवर्ड हैश में फ़ीड करने की आवश्यकता है। यदि क्रिप्टो-जेएस नहीं कर सकता है, तो अन्य कौन से मॉड्यूल इसे सरल और सीधे-सीधे तरीके से प्राप्त कर सकते हैं?

0
gshow8 shac 3 नवम्बर 2020, 05:40

1 उत्तर

सबसे बढ़िया उत्तर

क्रिप्टोजेएस में एन्कोडिंग/डिकोडिंग के लिए उपयोगिताएं भी शामिल हैं ताकि आप अपनी एन्क्रिप्टेड स्ट्रिंग को यूआरएल-सुरक्षित प्रारूप में परिवर्तित कर सकें। अधिक जानकारी के लिए CryptoJS डॉक्स देखें।

उदाहरण के लिए:

var CryptoJS = require("crypto-js");

let encrypted = CryptoJS.AES.encrypt("hello", "secrete_key").toString()
var encoded = CryptoJS.enc.Base64.parse(encrypted).toString(CryptoJS.enc.Hex);

console.log(encrypted)
console.log(encoded)

var decoded = CryptoJS.enc.Hex.parse(encoded).toString(CryptoJS.enc.Base64);
var decrypted = CryptoJS.AES.decrypt(decoded, "secrete_key").toString(CryptoJS.enc.Utf8);

console.log(decoded)
console.log(decrypted)
3
Artjom B. 3 नवम्बर 2020, 23:33