12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using System;
- namespace I2.Loc
- {
- // Simple String Obfucator
- // (not particularly safe, but will stop most players from hacking your strings and its FAST)
- public class StringObfucator
- {
- // Change this for your projects if you need extra security
- public static char[] StringObfuscatorPassword = "ÝúbUu¸CÁ§*4PÚ©-᩾@T6Dl±ÒWâuzÅm4GÐóØ$=Íg,¥Që®iKEßr¡×60Ít4öÃ~^«y:Èd1<QÛÝúbUu¸CÁ§*4PÚ©-᩾@T6Dl±ÒWâuzÅm4GÐóØ$=Íg,¥Që®iKEßr¡×60Ít4öÃ~^«y:Èd".ToCharArray();
- public static string Encode(string NormalString)
- {
- try
- {
- var str = XoREncode(NormalString);
- return ToBase64(str);
- }
- catch (System.Exception)
- {
- return null;
- }
- }
- public static string Decode(string ObfucatedString)
- {
- try
- {
- var str = FromBase64(ObfucatedString);
- return XoREncode(str);
- }
- catch (System.Exception)
- {
- return null;
- }
- }
- static string ToBase64(string regularString)
- {
- byte[] toEncodeAsBytes = System.Text.Encoding.UTF8.GetBytes(regularString);
- return System.Convert.ToBase64String(toEncodeAsBytes);
- }
- static string FromBase64(string base64string)
- {
- byte[] encodedDataAsBytes = System.Convert.FromBase64String(base64string);
- return System.Text.Encoding.UTF8.GetString(encodedDataAsBytes, 0, encodedDataAsBytes.Length);
- }
- static string XoREncode(string NormalString)
- {
- try
- {
- var pass = StringObfuscatorPassword;
- var buffer = NormalString.ToCharArray();
- var passlen = pass.Length;
- for (int i = 0, imax = buffer.Length; i < imax; ++i)
- buffer[i] = (char)(buffer[i] ^ pass[i % passlen] ^ (byte)(i % 2 == 0 ? i * 23 : -i * 51));
- return new string(buffer);
- }
- catch (System.Exception)
- {
- return null;
- }
- }
- }
- }
|