EncryptedSharedPreferences는 Android Jetpack Security 라이브러리에서 제공하는 보안 SharedPreferences입니다. 일반 SharedPreferences와 유사한 방식으로 사용하지만, 내부적으로 데이터를 암호화하여 보안을 강화합니다. 민감한 데이터를 로컬에 안전하게 저장하기 위해 설계되었으며, Android 6.0(Marshmallow) 이상에서 사용할 수 있습니다.
**코틀린(Kotlin)**은 Google이 공식 지원하는 프로그래밍 언어로, 주로 안드로이드 앱 개발에 사용됩니다.
위 메서드를 사용해서 EncryptedSharedPreferences를 생성합니다.
import androidx.security.crypto.EncryptedSharedPreferences
import android.content.Context
val sharedPreferences = EncryptedSharedPreferences.create(
"secure_shared_prefs", // SharedPreferences 파일 이름
masterKeyAlias, // MasterKey alias
context, // 애플리케이션 컨텍스트
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, // 키 암호화 스킴
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM // 값 암호화 스킴
)
import * as Keychain from 'react-native-keychain';
// 1. 민감한 데이터 저장
async function storeToken() {
await Keychain.setGenericPassword("username", "my_secure_token");
}
// 2. 저장된 데이터 가져오기
async function getToken() {
const credentials = await Keychain.getGenericPassword();
if (credentials) {
console.log("Access Token:", credentials.password);
}
}
import * as SecureStore from 'expo-secure-store';
// 1. 민감한 데이터 저장
async function storeToken() {
await SecureStore.setItemAsync("accessToken", "my_secure_token");
}
// 2. 저장된 데이터 가져오기
async function getToken() {
const token = await SecureStore.getItemAsync("accessToken");
if (token) {
console.log("Access Token:", token);
}
}