2025-09-25 18:18:41 +01:00
|
|
|
|
// Copyright (c) 2014-2018 Zano Project
|
|
|
|
|
|
// Copyright (c) 2014-2018 The Louisdor Project
|
|
|
|
|
|
// Copyright (c) 2012-2013 The Boolberry developers
|
|
|
|
|
|
// Copyright (c) 2017-2025 Lethean (https://lt.hn)
|
|
|
|
|
|
//
|
|
|
|
|
|
// Licensed under the European Union Public Licence (EUPL) version 1.2.
|
|
|
|
|
|
// You may obtain a copy of the licence at:
|
|
|
|
|
|
//
|
|
|
|
|
|
// https://joinup.ec.europa.eu/software/page/eupl/licence-eupl
|
|
|
|
|
|
//
|
|
|
|
|
|
// The EUPL is a copyleft licence that is compatible with the MIT/X11
|
|
|
|
|
|
// licence used by the original projects; the MIT terms are therefore
|
|
|
|
|
|
// considered “grandfathered” under the EUPL for this code.
|
|
|
|
|
|
//
|
|
|
|
|
|
// SPDX‑License‑Identifier: EUPL-1.2
|
|
|
|
|
|
//
|
2019-05-01 16:03:12 +02:00
|
|
|
|
#include "crypto_stream_operators.h"
|
|
|
|
|
|
|
|
|
|
|
|
bool parse_hash256(const std::string str_hash, crypto::hash& hash)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string buf;
|
|
|
|
|
|
bool res = epee::string_tools::parse_hexstr_to_binbuff(str_hash, buf);
|
|
|
|
|
|
if (!res || buf.size() != sizeof(crypto::hash))
|
|
|
|
|
|
{
|
|
|
|
|
|
std::cout << "invalid hash format: <" << str_hash << '>' << std::endl;
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
buf.copy(reinterpret_cast<char *>(&hash), sizeof(crypto::hash));
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|