react-native-crypto-js, crypto-js, AES 암호화


NodeJS 서버와 React-native 간에 데이터를 주고 받는데,  AES 암호화를 이용해 주고 받을일이 생겼다.

react-native-crypto, react-native-crypto-js, crypto-js, crypto 패키지를 테스트 하면서 코딩을 했는데 … 엄청난 뻘짓과 삽질 후에 결국 crypto-js 로 AES 암호화를 구현했다. 

Crypto, react-native-crypto

nodejs 에서 사용 가능한 패키지이고 Deprecated 되었다. React-native 에서 쓰려면 react-native-crypto를 사용해야 하는데 node core module 을 포함하고 있어서  rn-nodeify 라는 패키지를 이용해 react-native에 node core를 설치해줘야 한다. 

해봤는데… 오류를 뿜었고 사용하고 있는 module이 지워지는 듯한 문제가 발생해 Pass 했다. …

crypto-js, react-native-crypto-js

crypto 가 일로 이전한게 아닌가 생각된다. 여튼 react-native-crypto-js 는 crypto-js 의 3.x 버전을 가지고 만들어 졌다고 한다. 현제 1.0.0 이다. 

여튼 패키지를 NodeJS 와 React-native 에 설치하여 테스트를 했는데 잘 동작했다. 그래서 Device 에서 테스트 하려고 APK를 만들었는데 AES Decrypt 가 안되더라 …… (emulator 에서 release를 돌려도 안된다. only __DEV__ 모드에서만 제대로 동작한다. ..)

구글링 결과 나와 같은 사람들이 많다는 것을 알았고 해결책은 그냥 crypto-js를 쓰는것…

넵다 최신버전인 4.0.0 을 설치했지만 node core 가 있어서 인지 react-native 에서는 돌아가지 않았다. 

그래서 3.1.8 버전을 설치했더니 비로소 동작하더라 …. 

yarn add cypto-js@3.1.8 

 

혹시 React-native 에서 AES 를 사용할 사람은 본글을 보고 삽질하지 말길 …. 

 

You may also like...