|
|
|
|
|
|
Synopsis |
|
|
|
|
Automatic key generation
|
|
|
:: FilePath | File name where key is stored.
| -> IO Word256 | The actual 256-bit key.
| Get a 256-bit key from the given text file.
If the file does not exist, or did not contain enough bits,
a random key will be generated and stored in that file.
|
|
|
|
The default key file.
|
|
|
Simply calls getKey "client_session_key.aes"
|
|
Actual encryption/decryption
|
|
|
:: (IsByteString b, AESKey k) | | => k | The data to encrypt.
| -> b | Encrypted and encoded data.
| -> String | | Encrypt with the given key and base-64 encode.
A hash is stored inside the encrypted key so that, upon decryption,
integrity can be guaranteed.
|
|
|
|
:: (AESKey k, Monad m, IsByteString b) | | => k | Data to decrypt.
| -> String | The decrypted data, if possible.
| -> m b | | Base-64 decode and decrypt with the given key, if possible.
If either the original string is not a valid base-64 encoded string,
or the hash at the beginning of the decrypted string does not match,
this function fails.
|
|
|
Classes
|
|
class IsByteString a where | Source |
|
A class for anything which can become a Data.ByteString.
The String instance uses UTF8 encoding.
| | Methods | | | Instances | |
|
|
Key types and classes.
|
|
|
|
class AESKeyIndirection a => AESKey a | Source |
|
| Instances | |
|
|
Produced by Haddock version 2.6.0 |