[React-Native CLI] React Native Encrypted Storage 사용하기

2025. 1. 3. 19:01·Stack/React-Native
반응형

1. Encrypted Storage 설치

먼저 Encrypted Storage 패키지를 설치

npm install react-native-encrypted-storage

yarn add react-native-encrypted-storage

만약 React Native CLI 프로젝트를 사용 중이라면, iOS를 위해 추가적으로 아래 명령어를 실행

npx pod-install ios

2. Encrypted Storage란?

Encrypted Storage는 웹의 Local Storage와 유사한 기능을 제공하지만, 차이점도 존재

  • 비동기적 처리: async/await 문법 사용
  • 보안성: 데이터를 자동으로 암호화하여 저장하고, 필요 시 복호화하여 읽기

이를 통해 민감한 데이터를 안전하게 관리가 가능


3. 기본 사용법

값 저장 함수

const setEncryptStorage = async <T>(key: string, data: T) => {
  await EncryptedStorage.setItem(key, JSON.stringify(data));
};

값 가져오기 함수

const getEncryptStorage = async (key: string) => {
  const storedData = await EncryptedStorage.getItem(key);

  return storedData ? JSON.parse(storedData) : null;
};

값 삭제 함수

const removeEncryptStorage = async (key: string) => {
  const data = await getEncryptStorage(key);
  if (data) {
    await EncryptedStorage.removeItem(key);
  }
};

4. 전체 코드

import EncryptedStorage from 'react-native-encrypted-storage';

const setEncryptStorage = async <T>(key: string, data: T) => {
  await EncryptedStorage.setItem(key, JSON.stringify(data));
};

const getEncryptStorage = async (key: string) => {
  const storedData = await EncryptedStorage.getItem(key);

  return storedData ? JSON.parse(storedData) : null;
};

const removeEncryptStorage = async (key: string) => {
  const data = await getEncryptStorage(key);
  if (data) {
    await EncryptedStorage.removeItem(key);
  }
};

export {setEncryptStorage, getEncryptStorage, removeEncryptStorage};
반응형

'Stack > React-Native' 카테고리의 다른 글

[React-Native CLI] react-native-maps이용하여 googleMap 구현하기  (1) 2025.01.10
[React Native CLI] ios API 키 안전하게 숨기기  (0) 2025.01.07
React-Native expo에서 FAB 버튼 만들기  (0) 2024.11.28
React-Native 에서 TextInput 사용해보기  (1) 2024.11.17
React-Native expo 시작하기 (새버전)  (2) 2024.11.15
'Stack/React-Native' 카테고리의 다른 글
  • [React-Native CLI] react-native-maps이용하여 googleMap 구현하기
  • [React Native CLI] ios API 키 안전하게 숨기기
  • React-Native expo에서 FAB 버튼 만들기
  • React-Native 에서 TextInput 사용해보기
WHITE_FROST
WHITE_FROST
개발공부리뷰블로그
    반응형
  • WHITE_FROST
    하얀하얀IT
    WHITE_FROST
  • 전체
    오늘
    어제
    • 분류 전체보기 (119)
      • Stack (43)
        • Next.js (7)
        • React (12)
        • React-Native (15)
        • TypeScript (0)
        • Python (2)
        • JavaScript (2)
        • Android (1)
        • DB (2)
        • JAVA (1)
      • Obsidian (1)
      • AI (3)
      • AI Tools (0)
      • Tools (0)
      • Mac (0)
      • Error (7)
      • 알고리즘 정리 (6)
      • 알고리즘 문제풀이 (46)
      • 공부일상 (4)
      • 개발 도구 & 라이브러리 (0)
      • 정보처리기사 (0)
      • 기타 (6)
      • Tip (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리액트네이티브
    티스토리챌린지
    알고리즘
    Next.js
    d1
    java
    React-Native cli
    boj
    ios
    코테준비
    react
    reactnative
    ReactHook
    Python
    error
    백준
    코딩테스트
    D2
    SWEA
    코테
    React Hooks
    mongodb cloud
    javascript
    react-native-maps
    Expo
    mongoDB Atlas
    react-native
    프로그래머스
    오블완
    hooks
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
WHITE_FROST
[React-Native CLI] React Native Encrypted Storage 사용하기
상단으로

티스토리툴바