|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <BigNumber.h>
Public Member Functions | |
| char * | AsDecStr () const |
| uint32 | AsDword () |
| char * | AsHexStr () const |
| BigNumber () | |
| BigNumber (BigNumber const &bn) | |
| BigNumber (int32 v) | |
| template<size_t Size> | |
| BigNumber (std::array< uint8, Size > const &v, bool littleEndian=true) | |
| BigNumber (std::string const &v) | |
| BigNumber (uint32 v) | |
| struct bignum_st * | BN () |
| struct bignum_st const * | BN () const |
| BigNumber | Exp (BigNumber const &) const |
| void | GetBytes (uint8 *buf, size_t bufsize, bool littleEndian=true) const |
| int32 | GetNumBytes (void) const |
| bool | isZero () const |
| BigNumber | ModExp (BigNumber const &bn1, BigNumber const &bn2) const |
| BigNumber | operator% (BigNumber const &bn) const |
| BigNumber | operator%= (BigNumber const &bn) |
| BigNumber | operator* (BigNumber const &bn) const |
| BigNumber | operator*= (BigNumber const &bn) |
| BigNumber | operator+ (BigNumber const &bn) const |
| BigNumber | operator+= (BigNumber const &bn) |
| BigNumber | operator- (BigNumber const &bn) const |
| BigNumber | operator-= (BigNumber const &bn) |
| BigNumber | operator/ (BigNumber const &bn) const |
| BigNumber | operator/= (BigNumber const &bn) |
| BigNumber & | operator= (BigNumber const &bn) |
| template<typename Container> | |
| auto | SetBinary (Container const &c, bool littleEndian=true) -> std::enable_if_t<!std::is_pointer_v< std::decay_t< Container > > > |
| void | SetBinary (uint8 const *bytes, int32 len, bool littleEndian=true) |
| void | SetDword (int32) |
| void | SetDword (uint32) |
| void | SetHexStr (char const *str) |
| void | SetHexStr (std::string const &str) |
| void | SetQword (uint64) |
| void | SetRand (int32 numbits) |
| template<std::size_t Size> | |
| std::array< uint8, Size > | ToByteArray (bool littleEndian=true) const |
| std::vector< uint8 > | ToByteVector (int32 minSize=0, bool littleEndian=true) const |
| ~BigNumber () | |
Private Attributes | |
| struct bignum_st * | _bn |
Definition at line 18 of file BigNumber.h.
| BigNumber::BigNumber | ( | ) |
Definition at line 11 of file BigNumber.cpp.
References _bn.
Referenced by BigNumber(), BigNumber(), BigNumber(), BigNumber(), BigNumber(), Exp(), ModExp(), operator%(), operator%=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), and operator=().
| BigNumber::BigNumber | ( | BigNumber const & | bn | ) |
Definition at line 15 of file BigNumber.cpp.
References _bn, BigNumber(), and BN().
|
inline |
Definition at line 23 of file BigNumber.h.
References BigNumber(), and SetDword().
|
inline |
Definition at line 24 of file BigNumber.h.
References BigNumber(), and SetDword().
|
inline |
Definition at line 25 of file BigNumber.h.
References BigNumber(), and SetHexStr().
|
inline |
Definition at line 27 of file BigNumber.h.
References BigNumber(), and SetBinary().
| BigNumber::~BigNumber | ( | ) |
Definition at line 20 of file BigNumber.cpp.
References _bn.
| char * BigNumber::AsDecStr | ( | ) | const |
Definition at line 208 of file BigNumber.cpp.
References _bn.
| uint32 BigNumber::AsDword | ( | ) |
Definition at line 158 of file BigNumber.cpp.
References _bn.
| char * BigNumber::AsHexStr | ( | ) | const |
Definition at line 203 of file BigNumber.cpp.
References _bn.
|
inline |
|
inline |
Definition at line 87 of file BigNumber.h.
References _bn.
Definition at line 129 of file BigNumber.cpp.
References _bn, and BigNumber().
| void BigNumber::GetBytes | ( | uint8 * | buf, |
| size_t | bufsize, | ||
| bool | littleEndian = true ) const |
Definition at line 169 of file BigNumber.cpp.
References _bn, ASSERT, and GetNumBytes().
Referenced by ToByteArray(), and ToByteVector().
| int32 BigNumber::GetNumBytes | ( | void | ) | const |
Definition at line 153 of file BigNumber.cpp.
References _bn.
Referenced by GetBytes(), and ToByteVector().
| bool BigNumber::isZero | ( | ) | const |
Definition at line 163 of file BigNumber.cpp.
References _bn.
Definition at line 141 of file BigNumber.cpp.
References _bn, and BigNumber().
Definition at line 73 of file BigNumber.h.
References BigNumber().
Definition at line 118 of file BigNumber.cpp.
References _bn, and BigNumber().
Definition at line 59 of file BigNumber.h.
References BigNumber().
Definition at line 96 of file BigNumber.cpp.
References _bn, and BigNumber().
Definition at line 45 of file BigNumber.h.
References BigNumber().
Definition at line 84 of file BigNumber.cpp.
References _bn, and BigNumber().
Definition at line 52 of file BigNumber.h.
References BigNumber().
Definition at line 90 of file BigNumber.cpp.
References _bn, and BigNumber().
Definition at line 66 of file BigNumber.h.
References BigNumber().
Definition at line 107 of file BigNumber.cpp.
References _bn, and BigNumber().
Definition at line 75 of file BigNumber.cpp.
References _bn, and BigNumber().
|
inline |
Definition at line 44 of file BigNumber.cpp.
References _bn.
Referenced by AuthSocket::_HandleReconnectProof(), and BigNumber().
| void BigNumber::SetDword | ( | int32 | val | ) |
Definition at line 25 of file BigNumber.cpp.
References _bn, and SetDword().
Referenced by BigNumber(), BigNumber(), and SetDword().
| void BigNumber::SetDword | ( | uint32 | val | ) |
Definition at line 32 of file BigNumber.cpp.
References _bn.
| void BigNumber::SetHexStr | ( | char const * | str | ) |
Definition at line 65 of file BigNumber.cpp.
References _bn.
Referenced by BigNumber(), and WardenCheckMgr::LoadWardenChecks().
|
inline |
| void BigNumber::SetQword | ( | uint64 | val | ) |
Definition at line 37 of file BigNumber.cpp.
References _bn.
| void BigNumber::SetRand | ( | int32 | numbits | ) |
Definition at line 70 of file BigNumber.cpp.
References _bn.
Referenced by AuthSocket::_HandleLogonChallenge(), and Master::Run().
|
inline |
Definition at line 95 of file BigNumber.h.
References GetBytes().
Referenced by AuthSocket::_HandleLogonChallenge(), AuthSocket::_HandleReconnectProof(), SkyFire::Crypto::AEDecrypt(), SkyFire::Crypto::AEEncryptWithRandomIV(), and WardenWin::HandleData().
Definition at line 194 of file BigNumber.cpp.
References GetBytes(), and GetNumBytes().
Referenced by WardenWin::HandleData(), and WardenWin::RequestData().
|
private |
Definition at line 106 of file BigNumber.h.
Referenced by AsDecStr(), AsDword(), AsHexStr(), BigNumber(), BigNumber(), BN(), BN(), Exp(), GetBytes(), GetNumBytes(), isZero(), ModExp(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetBinary(), SetDword(), SetDword(), SetHexStr(), SetQword(), SetRand(), and ~BigNumber().