Unity3D 로 게임개발을 할 때
변수 저장이나 기억해야 될 값들을
저장할때 보통
PlayerPrefs
를 사용하는데요.
지금은 이 값이 캡슐화(?)된 파일로
따로 빌드 되도록 바뀐것 같은데
예전에는 그냥 xml 파일로 저장이
되서 아주 보안에 취약했습니다.
사실 지금은 딱히 필요가 없을지도
모르지만 그래도 보안은 중요하니.
PlayerPrefs 의 값을 암호화 해서
사용하는 방법 입니다.
먼저 아래 클래스들을
임포트 해줍니다.
그다음 SetString 부분 입니다.
그다음 GetString 입니다.
DEFAULT_ENCRYPT_KEY
이 부분은 기본적으로 사용할
키 값을 넣어주고 나중에
특정한 키 값을 입력할 수 있도록
합니다.
나머지
int, float, double 같은 값들은
String 으로 변환해서 저장하면
됩니다.
헬퍼 클래스나 싱글톤 같은 곳에
넣어서 아래처럼 사용하시면 됩니다.
( 전 SecretPlayerPrefsFunctions 라는
이름의 클래스를 따로 만들었습니다. )
이렇게 해주시면 아래처럼
값이 암호화 되는걸 볼 수 있습니다.
그다음 GetString 을 이용해
값을 가져오면 아래처럼 제대로
값을 가져오는 것을 확인할 수 있습니다.
예전에는 보안에 대해 중요하게
생각하지 않았었는데요..
최근들어 점점 보안의 중요성을
깨닫고 있습니다.
어차피 시간이 지나면 뚫리겠지만
그래도 해커들을 얼마나 귀찮게
하느냐에 따라 수익도
지킬 수 있습니다.
그렇기 때문에 게임 개발을 할때는
보안에 특히 신경써야 하겠습니다.
이상 PlayerPrefs 를 암호화 해서
사용하는 방법 이었습니다.
'Programming > Unity3D' 카테고리의 다른 글
[NGUI] 모바일 디바이스에 넣으면 이미지의 화질이 저하 되는 문제 해결방법 (0) | 2015.05.19 |
---|---|
[Unity3D] 유니티에서 런타임 중 E-Mail 보내는 방법 (0) | 2015.05.13 |
[Unity3D] 런타임 중 GameObject 에 스크립트(컴포넌트) 다이나믹 하게 추가하는 방법 (0) | 2015.05.06 |
[Unity3D] 현재 씬에 있는 AudioListener 가지고 오는 방법 (0) | 2015.04.24 |
[Unity3D] 2DToolkit 에서 비트맵 폰트 새로 추가하기 (0) | 2015.04.20 |