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));