Flutter를 이용해서 개발을 하다보면 env파일을 생성하여 주요 Key값들을 보관하게 됩니다.
이유는 주로 다음과 같은데
1. Github에 공개적으로 업로드 하는 경우
2. Store에 배포할껀데 암호화를 하고 싶은 경우
1번의 경우는 env파일 자체가 암호화 되지 않아도 업로드만 하지 않으면 되기 때문에 문제가 없지만
2번처럼 보안을 강화하기 위해라면 진짜 큰일이 날 수도 있습니다.
Why not to use dotenv on flutter
Almost all developers have used dotenv at least once. Environment variables really help us to manage projects when we have more than one…
systemweakness.com
해당 블로그를 내용을 보면 앱 파일을 뜯으면 env 파일을 그대로 볼 수 있는 것을 확인 할 수 있습니다;;;
애초에 flutter_dotenv 패키지 코드를 보더라도 딱히 암호화에 대한 내용 없이 단순하게 파일만 읽는 것을 확인 할 수있습니다.
flutter_dotenv/lib/src/dotenv.dart at master · java-james/flutter_dotenv
Loads environment variables from `.env`. Contribute to java-james/flutter_dotenv development by creating an account on GitHub.
github.com
이렇기 때문에 만약 env 파일의 암호화가 필요한 경우 envied 패키지를 사용해야 합니다.
envied | Dart package
Explicitly reads environment variables into a dart file from a .env file for more security and faster start up times.
pub.dev
해당 패키지에서 필요한 파일을 모두 추가하고 다음처럼 코드를 작성합니다.
이때 env 파일은 여전히 남겨두셔야 합니다.
그 후 안내에 나와있는데로 코드 생성 명령어를 입력합니다.
그러면 key 값이 난수화된 파일이 생성되는 것을 확인 할 수 있습니다.
물론 암호화된 key 값 또한 복호화를 통해 원본을 알 수 있습니다. 따라서 더욱 보안에 신경 써야하는 경우 벡엔드쪽에서의 작업이 추가되야합니다.
질문 사항이나 틀린 내용은 댓글 남겨주시면 감사하겠습니다!
'Flutter' 카테고리의 다른 글
Flutter) JWT를 구현해보기lutter) JWT를 구현해보기 (1) | 2024.09.04 |
---|---|
위젯을 캡쳐하고 공유하기 (0) | 2024.07.04 |
Flutter) 비동기 요청을 병렬로 처리하기 (0) | 2024.06.25 |
riverpod을 사용한 MVVM 예제를 작성해보자 (0) | 2024.06.22 |
Go_router에 URL 전달하기 (0) | 2024.06.05 |