40 lines
No EOL
3.9 KiB
HTML
40 lines
No EOL
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html><head><link href="css/default.css" rel="stylesheet" type="text/css"><script src="js/jquery.min.js" type="text/javascript"></script><script src="js/page_effects.js" type="text/javascript"></script><title>taoensso.nippy.encryption documentation</title></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html">Nippy 2.0.0-alpha1 API documentation</a></h1></div><div class="sidebar" id="namespaces"><h3><span>Namespaces</span></h3><ul><li><a href="taoensso.nippy.html"><span>taoensso.nippy</span></a></li><li><a href="taoensso.nippy.benchmarks.html"><span>taoensso.nippy.benchmarks</span></a></li><li><a href="taoensso.nippy.compression.html"><span>taoensso.nippy.compression</span></a></li><li class="current"><a href="taoensso.nippy.encryption.html"><span>taoensso.nippy.encryption</span></a></li><li><a href="taoensso.nippy.utils.html"><span>taoensso.nippy.utils</span></a></li></ul></div><div class="sidebar" id="vars"><h3>Public Vars</h3><ul><li><a href="taoensso.nippy.encryption.html#var--%3EDefaultAES128Encryptor"><span>->DefaultAES128Encryptor</span></a></li><li><a href="taoensso.nippy.encryption.html#var-default-aes128-encryptor"><span>default-aes128-encryptor</span></a></li><li><a href="taoensso.nippy.encryption.html#var-map-%3EDefaultAES128Encryptor"><span>map->DefaultAES128Encryptor</span></a></li></ul></div><div class="namespace-docs" id="content"><h2>taoensso.nippy.encryption documentation</h2><pre class="doc">Alpha - subject to change.
|
|
Simple no-nonsense crypto with reasonable defaults. Because your Clojure data
|
|
deserves some privacy.</pre><div class="public" id="var--%3EDefaultAES128Encryptor"><h3>->DefaultAES128Encryptor</h3><div class="usage"><code>(->DefaultAES128Encryptor key-cache)</code></div><pre class="doc">Positional factory function for class taoensso.nippy.encryption.DefaultAES128Encryptor.
|
|
</pre></div><div class="public" id="var-default-aes128-encryptor"><h3>default-aes128-encryptor</h3><div class="usage"></div><pre class="doc">Alpha - subject to change.
|
|
Default 128bit AES encryptor with multi-round SHA-512 keygen.
|
|
|
|
Password form [:salted "my-password"]
|
|
---------------------------------------
|
|
USE CASE: You want more than a small, finite number of passwords (e.g. each
|
|
item encrypted will use a unique user-provided password).
|
|
|
|
IMPLEMENTATION: Uses a relatively cheap key hash, but automatically salts
|
|
every key.
|
|
|
|
PROS: Each key is independent so would need to be attacked independently.
|
|
CONS: Key caching impossible, so there's an inherent trade-off between
|
|
encryption/decryption speed and the difficulty of attacking any
|
|
particular key.
|
|
|
|
Slower than `aes128-cached`, and easier to attack any particular key - but
|
|
keys are independent.
|
|
|
|
Password form [:cached "my-password"]
|
|
---------------------------------------
|
|
USE CASE: You want only a small, finite number of passwords (e.g. a limited
|
|
number of staff/admins, or you'll be using a single password to
|
|
encrypt many items).
|
|
|
|
IMPLEMENTATION: Uses a _very_ expensive (but cached) key hash, and no salt.
|
|
|
|
PROS: Great amortized encryption/decryption speed. Expensive key hash makes
|
|
attacking any particular key very difficult.
|
|
CONS: Using a small number of keys for many encrypted items means that if any
|
|
key _is_ somehow compromised, _all_ items encrypted with that key are
|
|
compromised.
|
|
|
|
Faster than `aes128-salted`, and harder to attack any particular key - but
|
|
increased danger if a key is somehow compromised.</pre></div><div class="public" id="var-map-%3EDefaultAES128Encryptor"><h3>map->DefaultAES128Encryptor</h3><div class="usage"><code>(map->DefaultAES128Encryptor m__5665__auto__)</code></div><pre class="doc">Factory function for class taoensso.nippy.encryption.DefaultAES128Encryptor, taking a map of keywords to field values.
|
|
</pre></div></div></body></html> |