예제 #1
0
        // Token: 0x06004DC4 RID: 19908 RVA: 0x001A13D8 File Offset: 0x0019F7D8
        public static int DecryptInt(string sourceString)
        {
            string s = SimpleEncryption.DecryptString(sourceString);

            byte[] value = Convert.FromBase64String(s);
            return(BitConverter.ToInt32(value, 0));
        }
예제 #2
0
        // Token: 0x06004DC3 RID: 19907 RVA: 0x001A13B4 File Offset: 0x0019F7B4
        public static float DecryptFloat(string sourceString)
        {
            string s = SimpleEncryption.DecryptString(sourceString);

            byte[] value = Convert.FromBase64String(s);
            return(BitConverter.ToSingle(value, 0));
        }
        /// <summary>
        /// Decrypts the encrypted string representing an int into the decrypted int
        /// </summary>
        public static int DecryptInt(string sourceString)
        {
            // Decrypt the encrypted string
            string decryptedString = SimpleEncryption.DecryptString(sourceString);

            // Convert the decrypted Base 64 representation back into bytes
            byte[] bytes = Convert.FromBase64String(decryptedString);

            // Turn the bytes back into a int and return it
            return(BitConverter.ToInt32(bytes, 0));
        }
예제 #4
0
 /// <summary>
 /// Decrypts the specified key
 /// </summary>
 public static string DecryptKey(string encryptedKey)
 {
     if (encryptedKey.StartsWith(KEY_PREFIX))
     {
         // Remove the key prefix from the encrypted key
         string strippedKey = encryptedKey.Substring(KEY_PREFIX.Length);
         // Return the decrypted key
         return(SimpleEncryption.DecryptString(strippedKey));
     }
     else
     {
         throw new InvalidOperationException("Could not decrypt item, no match found in known encrypted key prefixes");
     }
 }
예제 #5
0
        /// <summary>
        /// Encrypted version of PlayerPrefs.GetString(), an unencrypted key is passed and the value is returned decrypted
        /// </summary>
        public static string GetEncryptedString(string key, string defaultValue = "")
        {
            // Encrypt and prefix the key so we can look it up from player prefs
            string encryptedKey = KEY_PREFIX + SimpleEncryption.EncryptString(key);

            // Look up the encrypted value
            string fetchedString = PlayerPrefs.GetString(encryptedKey);

            if (!string.IsNullOrEmpty(fetchedString))
            {
                // Strip out the type identifier character
                fetchedString = fetchedString.Remove(0, 1);

                // Decrypt and return the string value
                return(SimpleEncryption.DecryptString(fetchedString));
            }
            else
            {
                // No existing player pref value, so return defaultValue instead
                return(defaultValue);
            }
        }
예제 #6
0
 /// <summary>
 /// Helper method that can handle any of the encrypted player pref types, returning a float, int or string based
 /// on what type of value has been stored.
 /// </summary>
 public static object GetEncryptedValue(string encryptedKey, string encryptedValue)
 {
     // See what type identifier the encrypted value starts
     if (encryptedValue.StartsWith(VALUE_FLOAT_PREFIX))
     {
         // It's a float, so decrypt it as a float and return the value
         return(GetEncryptedFloat(SimpleEncryption.DecryptString(encryptedKey.Substring(KEY_PREFIX.Length))));
     }
     else if (encryptedValue.StartsWith(VALUE_INT_PREFIX))
     {
         // It's an int, so decrypt it as an int and return the value
         return(GetEncryptedInt(SimpleEncryption.DecryptString(encryptedKey.Substring(KEY_PREFIX.Length))));
     }
     else if (encryptedValue.StartsWith(VALUE_STRING_PREFIX))
     {
         // It's a string, so decrypt it as a string and return the value
         return(GetEncryptedString(SimpleEncryption.DecryptString(encryptedKey.Substring(KEY_PREFIX.Length))));
     }
     else
     {
         throw new InvalidOperationException("Could not decrypt item, no match found in known encrypted key prefixes");
     }
 }