[flutter] get_it을 활용한 앱 데이터 암호화

이번 글에서는 Flutter 애플리케이션에서 get_it 패키지를 사용하여 앱 데이터를 안전하게 암호화하는 방법에 대해 알아보겠습니다.

목차

get_it 패키지란

get_it의존성 관리를 위한 서비스 로케이터로 자주 사용되는 패키지입니다. 애플리케이션의 여러 부분에서 동일한 인스턴스에 접근할 수 있도록 해주는 간단하고 효율적인 방법을 제공합니다. 이를 통해 앱의 전역적인 상태 변화를 추적하거나 중앙화된 데이터 처리 로직을 손쉽게 구현할 수 있습니다.

데이터 암호화의 중요성

개인정보 보호법 등의 법률이 강화되면서 데이터 보호가 더욱 중요해지고 있습니다. 앱 내에서 사용자 정보, 설정, 토큰, 민감한 데이터 등을 보호하기 위해 암호화는 필수적인 요소가 됐습니다. 데이터 암호화를 통해 앱이 해킹이나 데이터 유출로부터 보호되며 더 나은 보안성을 제공할 수 있습니다.

get_it을 활용한 데이터 암호화 구현

가장 먼저, flutter_secure_storage 패키지를 사용하여 데이터를 안전하게 저장하는 방법을 알아봅시다. get_it을 사용하여 flutter_secure_storage를 래핑하고 필요한 페이지 또는 모듈에서 사용할 수 있도록 합니다.

import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:get_it/get_it.dart';

final getIt = GetIt.instance;

void setupDataEncryption() {
  final secureStorage = FlutterSecureStorage();

  getIt.registerSingleton<FlutterSecureStorage>(secureStorage);
}

이제, 필요한 데이터를 암호화하고 복호화하는 메서드를 구현해봅시다.

import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:get_it/get_it.dart';

class DataEncryptionService {
  final _storage = getIt<FlutterSecureStorage>();

  Future<void> encryptData(String key, String value) async {
    await _storage.write(key: key, value: value);
  }

  Future<String?> decryptData(String key) async {
    return await _storage.read(key: key);
  }
}

위 코드는 get_it을 이용하여 DataEncryptionService를 통해 데이터를 암호화하고 복호화하는 간단한 방법을 보여줍니다.

마치며

이제 get_it을 사용하여 애플리케이션에서 데이터를 안전하게 암호화하는 방법에 대해 알아보았습니다. 의존성 관리와 데이터 보호가 더욱 중요해지는 시대에, get_it을 통해 데이터 암호화를 간편하게 구현할 수 있습니다. 개인정보 보호에 대한 더 나은 보안성을 제공하기 위해 앱의 데이터를 안전하게 보호하는 것은 매우 중요한 요소입니다.

참고 자료