Inherits IEquatable< ObscuredString >, IEquatable< string >, IComparable< ObscuredString >, IComparable< string >, IComparable, IObscuredType, ISerializableObscuredType, and ISerializationCallbackReceiver.
Use it instead of regular string
for any cheating-sensitive properties, fields and other long-term declarations.
Regular type is faster and memory wiser comparing to the obscured one!
Use regular type for all short-term operations and calculations while keeping obscured type only at the long-term declaration (i.e. class field).
◆ operator==()
Determines whether two specified ObscuredStrings have the same value.
- Returns
- true if the value of a is the same as the value of b ; otherwise, false.
- Parameters
-
◆ operator!=()
Determines whether two specified ObscuredStrings have different values.
- Returns
- true if the value of a is different from the value of b ; otherwise, false.
- Parameters
-
◆ Substring() [1/2]
string Substring |
( |
int |
startIndex | ) |
|
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
◆ Substring() [2/2]
string Substring |
( |
int |
startIndex, |
|
|
int |
length |
|
) |
| |
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
◆ StartsWith()
bool StartsWith |
( |
string |
value, |
|
|
StringComparison |
comparisonType = StringComparison.CurrentCulture |
|
) |
| |
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
◆ EndsWith()
bool EndsWith |
( |
string |
value, |
|
|
StringComparison |
comparisonType = StringComparison.CurrentCulture |
|
) |
| |
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
◆ Encrypt() [1/3]
static char [] Encrypt |
( |
string |
value, |
|
|
string |
key |
|
) |
| |
|
inlinestatic |
◆ Encrypt() [2/3]
static char [] Encrypt |
( |
string |
value, |
|
|
char[] |
key |
|
) |
| |
|
inlinestatic |
◆ Encrypt() [3/3]
static char [] Encrypt |
( |
char[] |
value, |
|
|
char[] |
key |
|
) |
| |
|
inlinestatic |
◆ Decrypt() [1/2]
static string Decrypt |
( |
char[] |
value, |
|
|
string |
key |
|
) |
| |
|
inlinestatic |
◆ Decrypt() [2/2]
static string Decrypt |
( |
char[] |
value, |
|
|
char[] |
key |
|
) |
| |
|
inlinestatic |
◆ FromEncrypted()
Creates and fills obscured variable with raw encrypted value previously got from GetEncrypted().
Literally does same job as SetEncrypted() but makes new instance instead of filling existing one, making it easier to initialize new variables from saved encrypted values.
- Parameters
-
- Returns
- New obscured variable initialized from specified encrypted value.
- See also
- GetEncrypted(), SetEncrypted()
◆ GenerateKey() [1/2]
static char [] GenerateKey |
( |
| ) |
|
|
inlinestatic |
Generates random key in new allocated array. Used internally and can be used to generate key for manual Encrypt() calls.
- Returns
- Key suitable for manual Encrypt() calls.
◆ GenerateKey() [2/2]
static void GenerateKey |
( |
ref char[] |
arrayToFill | ) |
|
|
inlinestatic |
Generates random key. Used internally and can be used to generate key for manual Encrypt() calls.
- Parameters
-
arrayToFill | Preallocated char array. Only first 7 bytes are filled. |
◆ GetEncrypted()
char [] GetEncrypted |
( |
out char[] |
key | ) |
|
|
inline |
Allows to pick current obscured value as is.
- Parameters
-
key | Encryption key needed to decrypt returned value. |
- Returns
- Encrypted value as is.
Use it in conjunction with SetEncrypted().
Useful for saving data in obscured state.
- See also
- FromEncrypted(), SetEncrypted()
◆ SetEncrypted()
void SetEncrypted |
( |
char[] |
encrypted, |
|
|
char[] |
key |
|
) |
| |
|
inline |
Allows to explicitly set current obscured value. Crypto key should be same as when encrypted value was got with GetEncrypted().
Use it in conjunction with GetEncrypted().
Useful for loading data stored in obscured state.
- See also
- FromEncrypted()
◆ GetDecrypted()
Alternative to the type cast, use if you wish to get decrypted value but can't or don't want to use cast to the regular type.
- Returns
- Decrypted value.
◆ GetDecryptedToChars()
char [] GetDecryptedToChars |
( |
| ) |
|
|
inline |
GC-friendly alternative to the type cast, use if you wish to get decrypted value but can't or don't want to use cast to the regular type.
- Returns
- Decrypted value as a raw chars array in case you don't wish to allocate new string.
◆ RandomizeCryptoKey()
void RandomizeCryptoKey |
( |
| ) |
|
|
inline |
Allows to change current crypto key to the new random value and re-encrypt variable using it. Use it for extra protection against 'unknown value' search. Just call it sometimes when your variable doesn't change to fool the cheater.
Implements IObscuredType.
◆ this[int index]
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.