아는 게 너무 없어서 이것저것 서칭해본 결과 아래의 클래스를 프로젝트에 만들어 두었다.
using System;
using System.Collections;
using System.Security.Cryptography;
using System.Text;
public static class SecureConverter
{
private static int xorCode = (UnityEngine.Random.Range(0, 10000) + UnityEngine.Random.Range(0, 10000) + UnityEngine.Random.Range(0, 10000)).GetHashCode();
public static int SecureInt(int data)
{
return data ^ xorCode;
}
public static string SecureString(string data)
{
string newText = "";
for (int i = 0; i < data.Length; i++)
{
int charValue = Convert.ToInt32(data[i]); //get the ASCII value of the character
charValue ^= xorCode; //xor the value
newText += char.ConvertFromUtf32(charValue); //convert back to string
}
return newText;
}
}
private int _abc;
public int abc { get { return SecureConvert.SecureInt(_abc); } set { _abc = SecureConvert.SecureInt(value); } }
어디서든 abc = 300; 과 같은 형태로 저장하면 실제 암호화된 형태로 저장되기 때문에 원시적인 데이터 검색만으로는 실제 메모리 주소를 찾기가 어렵게 된다.
추신. MD5 나 SHA1 같은 것으로 대체하면 더욱 좋을듯. 이는 추후 포스팅~
'Unity > 스크립트' 카테고리의 다른 글
에셋 Android Native Plugins에 대해 (0) | 2015.03.02 |
---|---|
String -> enum 변환 (0) | 2015.02.17 |
Playerprefs 암호화. (0) | 2014.10.14 |
어떤한 물체가 다른 물체의 공간안에 완벽히 들어와 있는가를 체크하는 공식 (0) | 2014.06.11 |
2D상에서의 각도를 기반으로 회전값 구하기 (4) | 2014.06.11 |
WRITTEN BY