· 6 years ago · Aug 05, 2019, 03:50 AM
1function encrypt(text,encrypt_key){
2 var cipher = crypto.createCipher('aes-256-cbc',encrypt_key)
3 var encrypted;
4 encrypted += cipher.update(text,'utf8','base64');
5 encrypted += cipher.final('base64');
6 console.log(typeof encrypted)
7 return encrypted;
8}
9
10var key_info = prepareJSONstring('session_key', encrypt(secret_key,encrypt_public_key),0,0);
11 console.log('Session Key sent: n', key_info)
12 conn.write(key_info);
13
14jsonData = JSON.parse(data);
15secret_key = jsonData.data;
16secret_key = decrypt(secret_key,encrypt_key);
17console.log('Received session_key: n'+ secret_key)
18
19function decrypt(content, decrypt_key){
20 var decipher = crypto.createDecipher('aes-256-cbc',decrypt_key)
21 var decrypted;
22 decrypted += decipher.update(content, 'base64', 'utf8');
23 decrypted += decipher.final('utf8');
24}
25
26internal/crypto/cipher.js:164
27 const ret = this._handle.final();
28 ^
29
30Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length