[#Obfuscation] = Obfuscation :mrdocs: XOR‐based obfuscation over a fixed‐size key, applied to byte ranges. == Synopsis Declared in `<util/obfuscation.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class Obfuscation; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:Obfuscation/KeyType.adoc[`KeyType`] | Unsigned integer type holding one obfuscation key word. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:Obfuscation/2constructor-0e.adoc[`Obfuscation`] [.small]#[constructor]# | Constructors | xref:Obfuscation/HexKey.adoc[`HexKey`] | Return the key as a hex string. | xref:Obfuscation/Serialize.adoc[`Serialize`] | Serialize the key as a length‐prefixed byte vector. | xref:Obfuscation/Unserialize.adoc[`Unserialize`] | Read the key from a length‐prefixed byte vector, throwing on a wrong size. | xref:Obfuscation/operator_call.adoc[`operator()`] | Obfuscate (or de‐obfuscate) a byte range in place by XORing it with the key. | xref:Obfuscation/2conversion.adoc[`operator bool`] | Test whether the obfuscation is active. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:Obfuscation/KEY_SIZE.adoc[`KEY_SIZE`] | Size of the obfuscation key in bytes. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:dbwrapper_private/GetObfuscation.adoc[`dbwrapper_private::GetObfuscation`] | Work around circular dependency, as well as for testing in dbwrapper_tests. Database obfuscation should be considered an implementation detail of the specific database. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#