리액트 네이티브에서 crypto-js를 이용해 AES ECB모드 암호화 및 복호화를 해보려고 한다.
https://www.npmjs.com/package/crypto-js
crypto-js 라이브러리 3.3.0 버전보다 높으면 react native 환경에서 잘 호환이 안된다는 이슈가 있어, 3.3.0 버전을 설치해주었다.
npm install crypto-js@3.3.0 --save
yarn add crypto-js@3.3.0
import CryptoJS from 'crypto-js';
암호화 예제 함수
const encryption = text => {
// utf8로 키값을 인코딩한 변수
let key = CryptoJS.enc.Utf8.parse('example');
//mode는 ECB 모드 , NoPadding을 사용해 암호화를 진행
let encrypted = CryptoJS.AES.encrypt(text, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.NoPadding,
});
return encrypted.toString();
};
복호화 예제 함수
const decrpytion = text => {
// utf8로 인코딩한 키값을 담은 변수
let key = CryptoJS.enc.Utf8.parse('example');
// AES ECB 모드 및 NoPadding을 사용해 복호화 진행
let decrypted = CryptoJS.AES.decrypt(text, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.NoPadding,
});
return decrypted.toString(CryptoJS.enc.Utf8);
};
태클은 언제나 환영입니다. 잘못된부분이 있다면 댓글 부탁드립니다. 감사합니다 :)
'React-Native' 카테고리의 다른 글
react-native-image-crop-picker, ImagePicker 안드로이드(android)에서 Cannot find image data 해결하는법 (2) | 2023.02.25 |
---|---|
[ReactNative] 배포시 console.log 없애기 (0) | 2023.01.14 |
command phasescriptexecution failed with a nonzero exit code (0) | 2022.12.04 |
[React Native] no bundle url present (0) | 2022.11.25 |
리액트네이티브 ReactNative Pod 삭제 클린 설치 명령어 (0) | 2022.11.25 |