Mercurial > code
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 |
rev | line source |
---|---|
213 | 1 /* |
485
898d8b29a4f1
Switch to lowercase filenames
David Demelier <markand@malikania.fr>
parents:
403
diff
changeset
|
2 * hash.h -- hash functions |
213 | 3 * |
403 | 4 * Copyright (c) 2013-2015 David Demelier <markand@malikania.fr> |
213 | 5 * |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #ifndef _HASH_H_ | |
20 #define _HASH_H_ | |
21 | |
22 /** | |
485
898d8b29a4f1
Switch to lowercase filenames
David Demelier <markand@malikania.fr>
parents:
403
diff
changeset
|
23 * @file hash.h |
213 | 24 * @brief Hash functions |
25 */ | |
26 | |
27 #include <string> | |
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 | 31 /** |
394
fdceef4be88b
Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
32 * Hash using MD5. |
213 | 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 | 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 | 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 | 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 | 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 | 62 |
394
fdceef4be88b
Hash: remove class, use namespace
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
63 } // !hash |
213 | 64 |
65 #endif // !_HASH_H_ |