diff options
author | Sebastian Holtermann <sebholt@xwmw.org> | 2016-08-10 09:30:06 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-08-10 17:21:32 (GMT) |
commit | 3a5f609cbb4ae63fca1eb87918767a4296d16e5f (patch) | |
tree | 9903bda16d8811eee65e9610cddf16b0f2dfaf6a /Source/cmCryptoHash.h | |
parent | f582dba6664e5ea814f3b33c71ae4d83db17b996 (diff) | |
download | CMake-3a5f609cbb4ae63fca1eb87918767a4296d16e5f.zip CMake-3a5f609cbb4ae63fca1eb87918767a4296d16e5f.tar.gz CMake-3a5f609cbb4ae63fca1eb87918767a4296d16e5f.tar.bz2 |
cmCryptoHash: New ByteHash methods that return a byte vector
Diffstat (limited to 'Source/cmCryptoHash.h')
-rw-r--r-- | Source/cmCryptoHash.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmCryptoHash.h b/Source/cmCryptoHash.h index ab50e82..4e92b06 100644 --- a/Source/cmCryptoHash.h +++ b/Source/cmCryptoHash.h @@ -23,22 +23,37 @@ class cmCryptoHash { public: virtual ~cmCryptoHash() {} + /// @brief Returns a new hash generator of the requested type /// @arg algo Hash type name. Supported hash types are /// MD5, SHA1, SHA224, SHA256, SHA384, SHA512 /// @return A valid auto pointer if algo is supported or /// an invalid/NULL pointer otherwise static CM_AUTO_PTR<cmCryptoHash> New(const char* algo); + /// @brief Converts a hex character to its binary value (4 bits) /// @arg input Hex character [0-9a-fA-F]. /// @arg output Binary value of the input character (4 bits) /// @return True if input was a valid hex character static bool IntFromHexDigit(char input, char& output); + /// @brief Converts a byte hash to a sequence of hex character pairs static std::string ByteHashToString(const std::vector<unsigned char>& hash); + + /// @brief Calculates a binary hash from string input data + /// @return Binary hash vector + std::vector<unsigned char> ByteHashString(const std::string& input); + + /// @brief Calculates a binary hash from file content + /// @see ByteHashString() + /// @return Non empty binary hash vector if the file was read successfully. + /// An empty vector otherwise. + std::vector<unsigned char> ByteHashFile(const std::string& file); + /// @brief Calculates a hash string from string input data /// @return Sequence of hex characters pairs for each byte of the binary hash std::string HashString(const std::string& input); + /// @brief Calculates a hash string from file content /// @see HashString() /// @return Non empty hash string if the file was read successfully. |