2013-12-23 16 views
2

Я пытаюсь создать простой тест crypto-js on node следующим образом:node crypto-js AES encrypt -> расшифровать использование?

'use strict'; 

var AES = require('crypto-js/aes'); 
var key = 'passPhrase'; 
var ecr = function(str) 
{ 
    return AES.encrypt(str, key); 
}; 
var dcr = function(str) 
{ 
    return AES.decrypt(str, key); 
}; 

console.log(dcr(ecr('hello world'))); 
// expected result is: hello world 

Фактический результат:

{ words: [ 1751477356, 1864398703, 1919706117, 84215045 ], 
    sigBytes: 11 } 

Что такое право использования?

ответ

2

Я изменил код для решения какой-либо объект:

'use strict'; 

var CryptoJS = require('crypto-js'); 
var key = 'pass phrase'; 
var ecr = function(obj) 
{ 
    return CryptoJS.AES.encrypt(JSON.stringify(obj), key); 
}; 
var dcr = function(obj) 
{ 
    return JSON.parse(CryptoJS.AES.decrypt(obj, key) 
     .toString(CryptoJS.enc.Utf8)); 
}; 

var s = 'hello world'; 
console.log(dcr(ecr(s))); 

var obj = { 
    id: 'ken', 
    key: 'password' 
}; 
console.log(dcr(ecr(obj))); 
0

Ну хорошо .. Рабочий код:

'use strict'; 

var CryptoJS = require('crypto-js'); 
var key = 'pass phrase'; 
var ecr = function(str) 
{ 
    return CryptoJS.AES.encrypt(str, key); 
}; 
var dcr = function(str) 
{ 
    return CryptoJS.AES.decrypt(str, key) 
     .toString(CryptoJS.enc.Utf8); 
}; 

console.log(dcr(ecr('hello world'))); 

Результат:

hello world 
+0

функция ECR не возвращает строку! !! – damphat

+0

Спасибо за ввод. Ты прав. Я отправляю другой ответ с модификацией. –

Смежные вопросы