SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Loading...
Searching...
No Matches
SHA1.cpp
Go to the documentation of this file.
2
3#include <tomcrypt.h>
4
6
7using namespace sourcepp;
8
9std::array<std::byte, 20> crypto::computeSHA1(std::span<const std::byte> buffer) {
10 if (!LTM_MATH || buffer.empty()) {
11 return {};
12 }
13
14 hash_state sha1;
15 sha1_init(&sha1);
16 sha1_process(&sha1, reinterpret_cast<const unsigned char*>(buffer.data()), buffer.size());
17
18 std::array<std::byte, 20> final{};
19 sha1_done(&sha1, reinterpret_cast<unsigned char*>(final.data()));
20 return final;
21}
std::array< std::byte, 20 > computeSHA1(std::span< const std::byte > buffer)
Definition SHA1.cpp:9
const bool LTM_MATH
Definition Globals.cpp:7