본문 바로가기

Flutter

Flutter) env파일을 암호화가 될까?

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 값이 난수화된 파일이 생성되는 것을 확인 할 수 있습니다.

물론 암호화된 key 값 또한 복호화를 통해 원본을 알 수 있습니다. 따라서 더욱 보안에 신경 써야하는 경우 벡엔드쪽에서의 작업이 추가되야합니다.

 

질문 사항이나 틀린 내용은 댓글 남겨주시면 감사하겠습니다!