Flutter의 안전한 로컬 스토리지

5118 단어 flutterandroidstorage
이 기사에서는 Flutter 앱에서 보안 로컬 저장소를 구현하는 방법을 배웁니다.

프런트 엔드 웹 개발 경험이 있는 경우 브라우저의 로컬 저장소를 사용하여 데이터를 키-값 쌍으로 저장한다는 것을 알고 계실 것입니다. 유사하게 우리는 Flutter 앱에도 데이터를 저장할 수 있지만 이 구현은 데이터가 암호화되기 때문에 내부적으로 작동하는 방식이 약간 다릅니다.
  • 키체인이 iOS에 사용됩니다.
  • AES 암호화가 Android에 사용됩니다. AES 비밀 키는 RSA로 암호화되고 RSA 키는 KeyStore에 저장됩니다.

  • KeyStore was introduced in Android 4.3 (API level 18). The plugin wouldn't work for earlier versions.



    구현



    우리는 flutter_secure_storage이라는 플러터 플러그인을 사용할 것입니다.
    pubspec.yaml 파일에 다음을 추가합니다.

    dependencies:
      ...
      flutter_secure_storage: ^4.2.0
    


    Check for the latest version on the plugin's page.



    Android 버전 구성


    [project]/android/app/build.gradle에서 minSdkVersion를 >= 18로 설정합니다.

    android {
      ...
      defaultConfig {
        ...
        minSdkVersion 18
        ...
      }
    }
    


    인스턴스 생성



    파일에서 가져오기flutter_secure_storage 및 해당 인스턴스를 생성합니다.

    import 'package:flutter_secure_storage/flutter_secure_storage.dart';
    
    FlutterSecureStorage _localStorage = new FlutterSecureStorage();
    


    데이터 쓰기



    저장소에 키-값 쌍을 삽입하기 위해 write 방법을 사용합니다.
    이 메서드에 keyvalue를 전달해야 합니다.

    await _localStorage.write(key: key, value: value);
    


  • keyvalue는 문자열이어야 합니다.
  • key가 이미 있으면 value가 대체됩니다.
  • null 값을 전달했는데 key가 이미 있으면 삭제됩니다.
  • 반환 유형은 void 입니다.

  • 데이터 읽기



    특정 value에 대한 key를 읽으려면 read 방법을 사용합니다.
    이 메서드에 key를 전달해야 합니다.

    await _localStorage.read(key: key);
    


  • key는 문자열이어야 합니다.
  • key가 있으면 value가 반환됩니다.
  • key가 없으면 null가 반환됩니다.
  • 반환 유형은 항상 문자열입니다.

  • 모든 데이터 읽기



    모든 값을 읽으려면 readAll 방법을 사용합니다.

    await _localStorage.readAll();
    


  • 모든 키-값 쌍을 Map 로 반환합니다.

  • 데이터 삭제



    항목을 삭제하려면 delete 방법을 사용합니다.
    이 메서드에 key를 전달해야 합니다.

    await _localStorage.delete(key: key);
    


  • key는 문자열이어야 합니다.
  • 반환 유형은 void 입니다.

  • 모든 데이터 삭제



    모든 항목을 삭제하려면 deleteAll 방법을 사용합니다.

    await _localStorage.deleteAll();
    


  • 반환 유형이 무효입니다.

  • 읽어 주셔서 감사합니다. 그것이 당신에게 도움이 된다면 엄지척을 해주세요.

    부담없이 connect 👋


    Originally published on blog.bibekkakati.me




    좋은 웹페이지 즐겨찾기