मैंने नेट में एक एन्क्रिप्टेड कुकी बनाई है और मैं नोडज में इसकी सामग्री को डिक्रिप्ट करने का प्रयास कर रहा हूं। लेकिन NodeJS रहता है अपवाद फेंक "लेखन त्रुटि: विफल DecipherFinal"डिक्रिप्ट। नोडीज में नेट कुकी
नेट में मैं कुंजी
932D86BB1448EEAA423F38495A2290746D81C27E55D1DC264279537006D6F4CC.
मेरे web.config फ़ाइल के साथ एईएस एन्क्रिप्शन विधि का उपयोग कर रहा निम्नलिखित पंक्ति है
<machineKey validationKey="A5326FFC9D3B74527AECE124D0B7BE5D85D58AFB12AAB3D76319B27EE57608A5A7BCAB5E34C7F1305ECE5AC78DB1FFEC0A9435C316884AB4C83D2008B533CFD9"
decryptionKey="932D86BB1448EEAA423F38495A2290746D81C27E55D1DC264279537006D6F4CC"
validation="SHA1" decryption="AES" />
और कोड है कि नेट में अपनी कुकी उत्पन्न करता है इस तरह दिखता है:
var ticket = new FormsAuthenticationTicket(0, "test", DateTime.Now, DateTime.Now.AddYears(1), true, "test");
var encryptedTicket = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie(cookieName, encryptedTicket));
NodeJS कोड है कि कुकी decrypts
var crypto = require('crypto');
var logger = require('winston');
var deckey = "932D86BB1448EEAA423F38495A2290746D81C27E55D1DC264279537006D6F4CC";
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
function decrypt(cookie) {
var ivc = cookie, iv, cipherText, ivSize = 16, res;
ivc = new Buffer(ivc, 'hex');
iv = new Buffer(ivSize);
cipherText = new Buffer(ivc.length - ivSize);
ivc.copy(iv, 0, 0, ivSize);
ivc.copy(cipherText, 0, ivSize);
iv = new Buffer(Array(16));
c = crypto.createDecipheriv('aes-256-cbc', hex2a(deckey), iv.toString());
res = c.update(cipherText, 'binary');
res += c.final('binary'); //<-- throws TypeError: DecipherFinal fail
return res;
}
है मैं एक तरह से भटक गया हूँ और मैं क्या समस्या हो सकती है पर सुझाव या विचारों की सराहना करेंगे।
क्या आपके पास कोई संसाधन है जो आपको बताता है कि 'फॉर्म्स प्रमाणीकरण.एन्क्रिप्ट() 'के भीतर किस तरह का एन्क्रिप्शन किया जाता है? माइक्रोसॉफ्ट ** फिर ** विधि के वास्तविक आउटपुट निर्दिष्ट नहीं करता है। –
मुझे हाल ही में एक ही समस्या हो रही है, नेट 4.5 के खिलाफ। क्या किसी ने नोड में कुकी को डिक्रिप्ट करने पर प्रगति की है? – JasonB
@ जेसनबी मैंने उत्तर दिया [एक बहुत ही समान प्रश्न] (http://stackoverflow.com/q/34882672/5128464) - आपके लिए दिलचस्प हो सकता है। – vlp