Как я могу избежать строгого нарушения правил псевдонимов, пытаясь изменить char*
результат функции sha256.
Вычислить хеш-значение:
std::string sha = sha256("some text");
const char* sha_result = sha.c_str();
unsigned long* mod_args = reinterpret_cast<unsigned long*>(sha_result);
чем получить 2 штуки 64 бит:
unsigned long a = mod_args[1] ^ mod_args[3] ^ mod_args[5] ^ mod_args[7];
unsigned long b = mod_args[0] ^ mod_args[2] ^ mod_args[4] ^ mod_args[6];
чем получить результат, объединив эти две части:
unsigned long long result = (((unsigned long long)a) << 32) | b;
a
иb
. - person Some programmer dude   schedule 12.01.2016char* sha_result = sha.c_str()
? - person Lightness Races in Orbit   schedule 15.01.2016sha.c_str()
этоconst char*
. Обратите внимание наconst
. - person Lightness Races in Orbit   schedule 15.01.2016