봉 블로그

자바로 3DES 암호화 하고 node.js(crypto-js)에서 복호화 하기 본문

Node.js

자바로 3DES 암호화 하고 node.js(crypto-js)에서 복호화 하기

idkbj 2014. 4. 2. 16:15

crypto-js 는  3DES 복호화할때 base64로 인코딩된 encrypted 문자열이 필요하다.

따라서 자바에서 3DES 암호화할때는 반드시 encrypted byte 를 base64 로 다시한번 인코딩해야 한다.

인코딩시 apache commons-codec 에 있는 Base64를 이용함.

...
byte[] enbytes = cipher.doFinal(org);
return new String(Base64.encodeBase64(enbytes));
...

node.js 에서는 crypto-js 를 이용해 복호화한다.

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

var key = CryptoJS.enc.Utf8.parse('key string');
var encrypted = 'encrypted string by java';

var decrypted = CryptoJS.TripleDES.decrypt({
	ciphertext: CryptoJS.enc.Base64.parse(encrypted)
}, key);

console.log(decrypted.toString(CryptoJS.enc.Utf8));