-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
about.html
244 lines (180 loc) · 24.8 KB
/
about.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <title>Crypto-Shortcuts</title> <meta name="viewport" content="width=device-width"> <meta name="description" content="Shorthand functions for common cryptography tasks such as hashing, encrypting, and encoding."> <meta name="author" content="Nicolas Hafner <shinmera@tymoon.eu>"> <style type="text/css"> body{
max-width: 1024px;
margin: 0 auto 0 auto;
font-family: sans-serif;
color: #333333;
font-size: 14pt;
padding: 5px;
}
body>header{
display:flex;
align-items: center;
justify-content: center;
flex-direction: column;
max-width: 100%;
text-align: center;
}
body>header img{
max-width: 50%;
}
img{
max-width: 100%;
max-height: 100%;
}
code{
font-family: Consolas, Inconsolata, monospace;
}
a{
text-decoration: none;
color: #0055AA;
}
a img{
border: none;
}
#documentation{
text-align: justify;
}
#documentation pre{
margin-left: 20px;
overflow: auto;
}
#documentation img{
margin: 5px;
}
#symbol-index>ul{
list-style: none;
padding: 0;
}
#symbol-index .package>ul{
list-style: none;
padding: 0 0 0 10px;
}
#symbol-index .package .nicknames{
font-weight: normal;
}
#symbol-index .package h4{
display: inline-block;
margin: 0;
}
#symbol-index .package article{
margin: 0 0 15px 0;
}
#symbol-index .package article header{
font-size: 1.2em;
font-weight: normal;
}
#symbol-index .package .name{
margin-right: 5px;
}
#symbol-index .package .docstring{
margin: 0 0 0 15px;
white-space: pre-wrap;
font-size: 12pt;
}
@media (max-width: 800px){
body{font-size: 12pt;}
} </style> </head> <body> <header> <h1>crypto-shortcuts</h1> <span class="version">2.0.0</span> <p class="description">Shorthand functions for common cryptography tasks such as hashing, encrypting, and encoding.</p> </header> <main> <article id="documentation"> <div><h2 id="about_crypto_shortcuts">About Crypto Shortcuts</h2> <p>This is a small wrapper library around ironclad and cl-base64 to provide quick and easy access to frequently used cryptography functionality like hashing, encoding and encrypting.</p> <h2 id="how_to">How To</h2> <pre><code>(<a href="#CRYPTO-SHORTCUTS:FROM-BASE64">cryptos:from-base64</a> (<a href="#CRYPTO-SHORTCUTS:TO-BASE64">cryptos:to-base64</a> "CLがすごいです。"))
(<a href="#CRYPTO-SHORTCUTS:DECRYPT">cryptos:decrypt</a> (<a href="#CRYPTO-SHORTCUTS:ENCRYPT">cryptos:encrypt</a> "Lispy Secrets, oooOOooo" "1234567890123456") "1234567890123456")
(<a href="#CRYPTO-SHORTCUTS:PBKDF2-HASH">cryptos:pbkdf2-hash</a> "My passwords have never been this secure, whoa nelly!" "salty snacks")
(<a href="#CRYPTO-SHORTCUTS:SIMPLE-HASH">cryptos:simple-hash</a> "I guess not everyone can afford PBKDF2." "crisps")
(<a href="#CRYPTO-SHORTCUTS:MD5">cryptos:md5</a> "MD5 hashes are weak, but still sometimes useful.")
(<a href="#CRYPTO-SHORTCUTS:SHA512">cryptos:sha512</a> "If you don't need hash iterations or salts like simple-hash provides, this will do too.")</code></pre> </div> </article> <article id="copyright"> <h2>Copyright</h2> <span>crypto-shortcuts</span> is licensed under the <span><a href="https://tldrlegal.com/search?q=Artistic">Artistic</a></span> license. © <span>Nicolas Hafner <shinmera@tymoon.eu></span> . This library can be obtained on <a href="https://github.com/Shinmera/crypto-shortcuts">https://github.com/Shinmera/crypto-shortcuts</a>. </article> <article id="symbol-index"> <h2>Package Index</h2> <ul><li class="package"> <h3> <a name="CRYPTO-SHORTCUTS" href="#CRYPTO-SHORTCUTS">CRYPTO-SHORTCUTS</a> <span class="nicknames">(CRYPTOS ORG.SHIRAKUMO.CRYPTO-SHORTCUTS)</span> </h3> <ul><li> <a name="CRYPTO-SHORTCUTS:ADLER32"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:ADLER32"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3AADLER32">ADLER32</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a ADLER32-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:CRC24"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:CRC24"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ACRC24">CRC24</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a CRC24-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:CRC32"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:CRC32"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ACRC32">CRC32</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a CRC32-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:MD2"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:MD2"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3AMD2">MD2</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a MD2-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:MD4"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:MD4"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3AMD4">MD4</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a MD4-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:MD5"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:MD5"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3AMD5">MD5</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a MD5-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:PBKDF2-HASH"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:PBKDF2-HASH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3APBKDF2-HASH">PBKDF2-HASH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PASSWORD SALT &KEY (DIGEST :SHA512) (ITERATIONS 1000) (TO :HEX)</code><code>)</code> </header> <div class="docstring"><pre>Hasehs PASSWORD with SALT using the PBKDF2 method and the provided DIGEST, repeating the process ITERATION times.
The returned hash is encoded using the method specified in TO.
The default DIGEST is SHA512, the iteration is 1000, and TO is HEX.
Four values are returned: hash, salt (as a string), digest, and iterations.
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:PBKDF2-KEY"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:PBKDF2-KEY"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3APBKDF2-KEY">PBKDF2-KEY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PASSWORD SALT &REST ARGS &KEY DIGEST ITERATIONS</code><code>)</code> </header> <div class="docstring"><pre>Hashes PASSWORD with SALT using the PBKDF2 method and the provided DIGEST, repeating the process ITERATION times.
The default DIGEST is SHA512, and the iteration is 1000.
Four values are returned: hash as an octet-vector, salt (as a string), digest, and iterations.
LEGACY. Use PBKDF2-HASH instead.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:RIPEMD-128"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:RIPEMD-128"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ARIPEMD-128">RIPEMD-128</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a RIPEMD-128-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:RIPEMD-160"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:RIPEMD-160"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ARIPEMD-160">RIPEMD-160</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a RIPEMD-160-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:SHA1"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:SHA1"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ASHA1">SHA1</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a SHA1-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:SHA224"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:SHA224"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ASHA224">SHA224</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a SHA224-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:SHA256"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:SHA256"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ASHA256">SHA256</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a SHA256-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:SHA384"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:SHA384"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ASHA384">SHA384</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a SHA384-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:SHA512"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:SHA512"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ASHA512">SHA512</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a SHA512-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:SIMPLE-HASH"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:SIMPLE-HASH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ASIMPLE-HASH">SIMPLE-HASH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">PASSWORD SALT &KEY (DIGEST :SHA512) (ITERATIONS 1000) (TO :HEX)</code><code>)</code> </header> <div class="docstring"><pre>Hashes PASSWORD with SALT using DIGEST as the digest-method and repeats the hashing ITERATIONS times.
The returned hash is encoded using the method specified in TO.
The default DIGEST is SHA512, the iteration is 1000, and TO is HEX.
Four values are returned: hash, salt (as a string), digest, and iterations.
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TIGER"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:TIGER"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ATIGER">TIGER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a TIGER-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TREE-HASH"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:TREE-HASH"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3ATREE-HASH">TREE-HASH</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a TREE-HASH-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:WHIRLPOOL"> </a> <article id="FUNCTION CRYPTO-SHORTCUTS:WHIRLPOOL"> <header class="function"> <span class="type">function</span> <code>(</code><h4 class="name"><code><a href="#FUNCTION%20CRYPTO-SHORTCUTS%3AWHIRLPOOL">WHIRLPOOL</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &KEY (TO :HEX) ENCODE</code><code>)</code> </header> <div class="docstring"><pre>Turn a string into a WHIRLPOOL-hash.
TO is the returned representation
ENCODE is the encoding before hashing
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:CMAC"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:CMAC"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ACMAC">CMAC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT KEY &KEY CIPHER MODE IV TO NORMALIZE-KEY</code><code>)</code> </header> <div class="docstring"><pre>Generate a CMAC digest of TEXT using KEY and the provided CIPHER/MODE/IV.
The returned digest is encoded by the format specified in TO.
The default cipher is AES, default mode is ECB, and default TO is BASE64.
Four values are returned: digest, key, cipher, mode, and IV.
See <a href="#CRYPTO-SHORTCUTS:TO">TO</a>
See <a href="#CRYPTO-SHORTCUTS:NORMALIZE-KEY">NORMALIZE-KEY</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:CODE"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:CODE"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ACODE">CODE</a></code></h4> <code class="qualifiers"></code> <code class="arguments">FROM TO VECTOR</code><code>)</code> </header> <div class="docstring"><pre>Convenience function to de/encode in one pass.
By default, FROM and TO can both be one of:
:OCTETS :STRING :HEX :BASE64
If FROM is NIL, then TO is called with the remaining arguments.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:DECRYPT"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:DECRYPT"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ADECRYPT">DECRYPT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT KEY &KEY CIPHER MODE IV FROM NORMALIZE-KEY</code><code>)</code> </header> <div class="docstring"><pre>Decrypt TEXT with KEY using the provided CIPHER/MODE/IV.
Depending on the mode, the key should be of length 16, 32, or 64.
The passed text is decoded by the format specified in FROM.
The default cipher is AES, default mode is ECB, and default TO is BASE64.
Four values are returned: Decrypted text, key, cipher, mode, and IV.
See <a href="#CRYPTO-SHORTCUTS:CODE">CODE</a>
See <a href="#CRYPTO-SHORTCUTS:NORMALIZE-KEY">NORMALIZE-KEY</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:ENCRYPT"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:ENCRYPT"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3AENCRYPT">ENCRYPT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT KEY &KEY CIPHER MODE IV TO NORMALIZE-KEY</code><code>)</code> </header> <div class="docstring"><pre>Encrypt TEXT with KEY using the provided CIPHER/MODE/IV.
Depending on the mode, the key should be of length 16, 32, or 64.
The returned encrypted vector is encoded by the format specified in TO.
The default cipher is AES, default mode is ECB, and default TO is BASE64.
Four values are returned: Encrypted&encoded text, key, cipher, mode, and IV.
See <a href="#CRYPTO-SHORTCUTS:TO">TO</a>
See <a href="#CRYPTO-SHORTCUTS:NORMALIZE-KEY">NORMALIZE-KEY</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:FROM-BASE64"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:FROM-BASE64"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3AFROM-BASE64">FROM-BASE64</a></code></h4> <code class="qualifiers"></code> <code class="arguments">VECTOR &OPTIONAL TO</code><code>)</code> </header> <div class="docstring"><pre>Turns a base64-encoded vector into a vector encoded by TO.
See <a href="NIL">TO.</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:FROM-HEX"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:FROM-HEX"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3AFROM-HEX">FROM-HEX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">HEX-STRING</code><code>)</code> </header> <div class="docstring"><pre>Turn the hex-string into an octet-vector.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:GET-CIPHER"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:GET-CIPHER"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3AGET-CIPHER">GET-CIPHER</a></code></h4> <code class="qualifiers"></code> <code class="arguments">KEY &KEY CIPHER MODE IV</code><code>)</code> </header> <div class="docstring"><pre>Return the corresponding cipher with KEY using MODE and potentially the initialization-vector IV.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:HMAC"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:HMAC"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3AHMAC">HMAC</a></code></h4> <code class="qualifiers"></code> <code class="arguments">TEXT KEY &KEY DIGEST TO</code><code>)</code> </header> <div class="docstring"><pre>Generate an HMAC digest of TEXT using KEY and the provided DIGEST method.
The returned digest is encoded by the format specified in TO.
The default digest is SHA512, and default TO is BASE64.
Three values are returned: digest, key, and digest-type.
See <a href="#CRYPTO-SHORTCUTS:TO">TO</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:MAKE-SALT"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:MAKE-SALT"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3AMAKE-SALT">MAKE-SALT</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SALT</code><code>)</code> </header> <div class="docstring"><pre>Create a salt from the given object.
(eql T) -- A random salt
INTEGER -- A salt of this size
STRING -- Use this string as an octet-vector
VECTOR -- Use this vector directly
See <a href="#CRYPTO-SHORTCUTS:TO-OCTETS">TO-OCTETS</a></pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:NORMALIZE-KEY"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:NORMALIZE-KEY"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ANORMALIZE-KEY">NORMALIZE-KEY</a></code></h4> <code class="qualifiers"></code> <code class="arguments">METHOD KEY</code><code>)</code> </header> <div class="docstring"><pre>Normalizes the KEY to an octet-vector using METHOD.
By default, method can be one of:
:HASH -- Hash it by sha256
:FIT -- Truncate or pad it out before turning into octets.
NIL -- Just turn it into an octet-vector.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TO"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:TO"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ATO">TO</a></code></h4> <code class="qualifiers"></code> <code class="arguments">THING VECTOR</code><code>)</code> </header> <div class="docstring"><pre>Convenience function to call the various encoders.
By default, THING can be one of:
NIL -- Returns VECTOR
:OCTETS -- See TO-OCTETS
:STRING -- See TO-STRING
:HEX -- See TO-HEX
:BASE64 -- See TO-BASE64</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TO-BASE64"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:TO-BASE64"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ATO-BASE64">TO-BASE64</a></code></h4> <code class="qualifiers"></code> <code class="arguments">SEQUENCE</code><code>)</code> </header> <div class="docstring"><pre>Turns a vector into a base64-encoded string.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TO-HEX"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:TO-HEX"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ATO-HEX">TO-HEX</a></code></h4> <code class="qualifiers"></code> <code class="arguments">VECTOR</code><code>)</code> </header> <div class="docstring"><pre>Turn VECTOR into a hex-string.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TO-OCTETS"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:TO-OCTETS"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ATO-OCTETS">TO-OCTETS</a></code></h4> <code class="qualifiers"></code> <code class="arguments">STRING &OPTIONAL FORMAT</code><code>)</code> </header> <div class="docstring"><pre>Turns STRING into a FORMAT (default UTF-8) encoded octet-vector.</pre></div> </article> </li><li> <a name="CRYPTO-SHORTCUTS:TO-STRING"> </a> <article id="GENERIC CRYPTO-SHORTCUTS:TO-STRING"> <header class="generic"> <span class="type">generic</span> <code>(</code><h4 class="name"><code><a href="#GENERIC%20CRYPTO-SHORTCUTS%3ATO-STRING">TO-STRING</a></code></h4> <code class="qualifiers"></code> <code class="arguments">OCTETS &OPTIONAL FORMAT</code><code>)</code> </header> <div class="docstring"><pre>Turns OCTETS from FORMAT (default UTF-8) encoding into a string. </pre></div> </article> </li></ul> </li></ul> </article> </main> </body> </html>