mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-29 09:51:30 +00:00
* if for whatever reason the world server is not sending an address, use the local address it sends * Log when world is sending loginserver info * Force legacy mode when login host is login.eqemulator.net to avoid misconfigurations at least until things change * Add human IP translation to log messages * Sanitize world server name * Code cleanup and renaming member variables * More cleanup * Remove this-> * Validation constants * Key worldserver lookups by both longname and shortname both * Update allowed character list * Fix short_name API response field; add world_id to response * Shorten receiver verbosity * Remove unnecessary member variables from database and rename database to m_database * Adjust MAX_SERVER_VERSION_LENGTH * Fix indents
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include "../common/types.h"
|
|
|
|
enum EncryptionMode {
|
|
EncryptionModeMD5 = 1,
|
|
EncryptionModeMD5PassUser = 2,
|
|
EncryptionModeMD5UserPass = 3,
|
|
EncryptionModeMD5Triple = 4,
|
|
EncryptionModeSHA = 5,
|
|
EncryptionModeSHAPassUser = 6,
|
|
EncryptionModeSHAUserPass = 7,
|
|
EncryptionModeSHATriple = 8,
|
|
EncryptionModeSHA512 = 9,
|
|
EncryptionModeSHA512PassUser = 10,
|
|
EncryptionModeSHA512UserPass = 11,
|
|
EncryptionModeSHA512Triple = 12,
|
|
EncryptionModeArgon2 = 13,
|
|
EncryptionModeSCrypt = 14
|
|
};
|
|
|
|
namespace CryptoHash {
|
|
const int md5_hash_length = 32;
|
|
const int sha1_hash_length = 40;
|
|
const int sha512_hash_length = 128;
|
|
}
|
|
|
|
/**
|
|
* @param mode
|
|
* @return
|
|
*/
|
|
std::string GetEncryptionByModeId(uint32 mode);
|
|
const char *eqcrypt_block(const char *buffer_in, size_t buffer_in_sz, char *buffer_out, bool enc);
|
|
std::string eqcrypt_hash(const std::string &username, const std::string &password, int mode);
|
|
bool eqcrypt_verify_hash(const std::string &username, const std::string &password, const std::string &pwhash, int mode);
|