# Cryptography

## Tools

* [cmdkey](https://estebanzarate.gitbook.io/hackache/tools/cmdkey)
* [CrackStation](https://estebanzarate.gitbook.io/hackache/tools/crackstation)
* [CyberChef](https://estebanzarate.gitbook.io/hackache/tools/cyberchef)
* [DonPAPI](https://estebanzarate.gitbook.io/hackache/tools/donpapi)
* [Hashcat](https://estebanzarate.gitbook.io/hackache/tools/hashcat)
* [hashID](https://estebanzarate.gitbook.io/hackache/tools/hashid)
* [Hashes.com](https://hashes.com/en/tools/hash_identifier)
* [LaZagne](https://estebanzarate.gitbook.io/hackache/tools/lazagne)
* [mimikatz](https://estebanzarate.gitbook.io/hackache/tools/mimikatz)
* [PCredz](https://estebanzarate.gitbook.io/hackache/tools/pcredz)
* [SharpDPAPI](https://estebanzarate.gitbook.io/hackache/tools/sharpdpapi)
* [UUID Decoder](https://www.uuidtools.com/decode)
* [wireshark](https://estebanzarate.gitbook.io/hackache/tools/wireshark)

***

## Encoding

* [ASCII](https://estebanzarate.gitbook.io/hackache/cryptography/ascii)
* [Base64](https://estebanzarate.gitbook.io/hackache/cryptography/base64)

***

### XOR

XOR es un operador (`^`) bit a bit que devuelve 0 si los bits son iguales y 1 en caso contrario.

```python
from pwn import *

xor(1, 1) # b'\x00'
```

#### Propiedades

```
Commutative: A ⊕ B = B ⊕ A
Associative: A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C
Identity: A ⊕ 0 = A
Self-Inverse: A ⊕ A = 0
```
