annotate C++/modules/Hash/hash.h @ 485:898d8b29a4f1

Switch to lowercase filenames
author David Demelier <markand@malikania.fr>
date Thu, 12 Nov 2015 21:53:36 +0100
parents C++/modules/Hash/Hash.h@d5ec1174b707
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
485
898d8b29a4f1 Switch to lowercase filenames
David Demelier <markand@malikania.fr>
parents: 403
diff changeset
2 * hash.h -- hash functions
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
403
d5ec1174b707 Massive cleanup
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
4 * Copyright (c) 2013-2015 David Demelier <markand@malikania.fr>
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef _HASH_H_
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define _HASH_H_
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 /**
485
898d8b29a4f1 Switch to lowercase filenames
David Demelier <markand@malikania.fr>
parents: 403
diff changeset
23 * @file hash.h
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 * @brief Hash functions
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 */
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #include <string>
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
29 namespace hash {
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
30
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 /**
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
32 * Hash using MD5.
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 *
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
34 * @param input the input string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
35 * @return the hashed string
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 */
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
37 std::string md5(const std::string &input);
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
39 /**
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
40 * Hash using SHA1.
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
41 *
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
42 * @param input the input string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
43 * @return the hashed string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
44 */
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
45 std::string sha1(const std::string &input);
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
46
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
47 /**
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
48 * Hash using SHA256.
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
49 *
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
50 * @param input the input string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
51 * @return the hashed string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
52 */
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
53 std::string sha256(const std::string &input);
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
55 /**
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
56 * Hash using SHA512.
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
57 *
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
58 * @param input the input string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
59 * @return the hashed string
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
60 */
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
61 std::string sha512(const std::string &input);
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
394
fdceef4be88b Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
63 } // !hash
213
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
1829c4266bee Hash: hash functions
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 #endif // !_HASH_H_