Crypt
MMO\oauth · 1 symbol · generated 5 Oct 2026
Crypt
Crypt.php:20Configuration for the cryptographic functions
- Namespace
MMO\oauth- Extends
- aModule
Index
Constants2
PBKDF2_ITERATIONS
VERSION
Properties16
authentificationKey
- Type
- string
cipherAlgorithm
- Type
- string
encryptionKey
- Type
- string
hashAlgorithm
- Type
- string
ivSize
- Type
- int
keySize
- Type
- int
leeway
- Type
- int
opensslAlgorithm
- Type
- string
passwordCost
passwordDigit
- Type
- bool
passwordLength
passwordLowcase
- Type
- bool
passwordSpecial
- Type
- bool
passwordTTL
- Type
- string
passwordUpcase
- Type
- bool
tokenKey
- Type
- string
Methods26
allowAnyPassword()
Crypt.php:92| returns | void |
clearToken()
Crypt.php:86| returns | void |
decrypt($key, $data)
Crypt.php:361Decrypt data
| $key | OpenSSLAsymmetricKey | OpenSSLCertificate | PrivateKey | array | string | The secret key |
| $data | string | |
| returns | string |
decryptHash($key, $data)
Crypt.php:253Decrypt data in DER format using derivative keys
derivativeHashKeys($key, $salt)
Crypt.php:218Generate derivative keys to be used as Public/Private keys
encrypt($key, $data)
Crypt.php:344Encrypt data using AES256.
| $key | OpenSSLAsymmetricKey | PublicKey | The secret key |
| $data | string | |
| returns | string | base 64 encoded string |
encryptHash($key, $data)
Crypt.php:233Encrypt data in DER format using derivative keys
generatePassword($excludes)
Crypt.php:158Generate a password
generatePasswordCost()
Crypt.php:197This code will benchmark your server to determine how high of a cost you can afford. You want to set the highest cost that you can without slowing down you server too much. 8-10 is a good baseline, and more is good if your servers are fast enough. The code below aims for ≤ 50 milliseconds stretching time, which is a good baseline for systems handling interactive logins.
| returns | int |
getCipherAlgorithm()
Crypt.php:389| returns | string |
getHashAlgorithm()
Crypt.php:380| returns | string |
getOpenSSLAlgorithm()
Crypt.php:398| returns | string |
getToken()
Crypt.php:82passwordHash($pwd, $verify)
Crypt.php:106Create a hash for a password (so it is not stored directly)
passwordNeedReset($passwordDate)
Crypt.php:134| $passwordDate | DateTimeInterface | |
| returns | bool |
passwordToKey($password, $salt)
Crypt.php:149passwordVerify($pwd, $hash)
Crypt.php:145Verify that a password check its hash
setCipherAlgorithm($algo)
Crypt.php:384setHashAlgorithm($algo)
Crypt.php:375setOpenSSLAlgorithm($algo)
Crypt.php:393sign($privateKey, $msg, $algorithm)
Crypt.php:305Sign a string with a given key and algorithm.
| $privateKey | OpenSSLAsymmetricKey | OpenSSLCertificate | array | string | The secret key |
| $msg | string | The message to sign |
| $algorithm = null | null | string | |
| returns | string | An encrypted message |
signHash($key, $msg)
Crypt.php:290Sign a hash
storeToken($token)
Crypt.php:74Store token in the session.
verify($publicKey, $msg, $signature, $algorithm)
Crypt.php:330Verify a signature with the message, key and method. Not all methods are symmetric, so we must have a separate verify and sign method.
| $publicKey | OpenSSLAsymmetricKey | OpenSSLCertificate | array | string | For HS*, a string key works. for RS*, must be a resource of an openssl public key |
| $msg | string | The original message (header and body) |
| $signature | string | The original signature |
| $algorithm = null | null | string | |
| returns | bool |
verifyHash($key, $msg, $signature)
Crypt.php:279Verify a signature with the message and method.
__wakeup()
Crypt.php:64| returns | void |
Inherited members (48)
| Constants | Declared by | Description | |
|---|---|---|---|
ALERT | iLogLevel | Alert: Action must be taken immediately. | |
ALL | iLogLevel | Mask for all | |
ALL_PLUS | iLogLevel | debug everything | |
BACKTRACE | iLogLevel | ||
CRITICAL | iLogLevel | Critical: Critical conditions. | |
DEBUG | iLogLevel | Debug: Detailed debug information. | |
DEEP | iLogLevel | debug everything with arguments | |
EMERGENCY | iLogLevel | Emergency: System is unusable. | |
ERROR | iLogLevel | Error: Runtime errors that do not require immediate action but should typically be logged and monitored. | |
ERROR_PLUS | iLogLevel | Mask for all error | |
FATAL | iLogLevel | Mask for all fatal error | |
INFO | iLogLevel | Info: Interesting events. | |
INFO_PLUS | iLogLevel | Mask for all errors/warning/notices/info | |
MEMORY | iLogLevel | include backtrace object | |
NOTICE | iLogLevel | Notice: Normal but significant events. | |
NOTICE_PLUS | iLogLevel | Mask for all errors/warning/notices/info | |
TRACE | iLogLevel | include backtrace as origins | |
WARNING | iLogLevel | Warning: Exceptional occurrences that are not errors. | |
WARNING_PLUS | iLogLevel | Mask for all errors and warnings |
| Properties | Declared by | Description | |
|---|---|---|---|
verbosity | aModule |
| Methods | Declared by | Description | |
|---|---|---|---|
alert($message, $context) | aModule | Action must be taken immediately. | |
backtraces($message, $context) | aModule | Force-log a message at INFO level together with a full stack trace/memory snapshot (iLogLevel::BACKTRACE), bypassing the verbosity mask entirely (any non-zero verbosity is enough to trigger it). | |
Configure($config) | aModule | Merge $config into this module's configuration in the shared Configuration. | |
critical($message, $context) | aModule | Critical conditions. No-op if CRITICAL is currently filtered out by the verbosity mask. | |
debug($message, $context) | aModule | Detailed debug information. | |
debugName() | aModule | Human-readable identifier used as the default {origin} in this instance's log messages. | |
DefaultConfig() | aModule | The config a module starts from before anything loaded via Configuration is merged in. | |
emergency($message, $context) | aModule | System is unusable. No-op if EMERGENCY is currently filtered out by the verbosity mask. | |
error($message, $context) | aModule | Runtime errors that do not require immediate action but should typically be logged and monitored. | |
getVerbosity() | aModule | ||
info($message, $context) | aModule | Interesting events. No-op if INFO is currently filtered out by the verbosity mask. | |
Instantiate($config) | aModule | (Re)create the shared instance immediately, configured with $config merged into the class's existing config. | |
IsShared() | aModule | ||
log($level, $message, $context) | aModule | Logs with an arbitrary level. | |
notice($message, $context) | aModule | Normal but significant events. | |
offsetExists($key) | aModule | \ArrayAccess::offsetExists -- tells whether $key is a declared property at all, regardless of whether it is currently readable/writable through array access. | |
offsetGet($key) | aModule | \ArrayAccess::offsetGet -- reads a property directly, unless it has a #[Serialize(serialize: 'methodName')] attribute, in which case that zero-argument method is called instead (e.g. | |
offsetSet($key, $value) | aModule | \ArrayAccess::offsetSet -- sets a property directly, unless it has a #[Serialize(unserialize: 'methodName')] attribute, in which case that method is called with $value instead (e.g. | |
offsetUnset($key) | aModule | \ArrayAccess::offsetUnset -- equivalent to $module[$key] = null. | |
serialize($path, $serializer) | aModule | \MMO\core\interfaces\iSerializable::serialize -- exports every property (via | |
setVerbosity($verb) | aModule | Set the current verbosity mask, replacing whatever it was before. | |
Shared() | aModule | Get the shared instance, creating (and configuring) it on first call. | |
testVerbosity($level) | aModule | Test whether a given level (or set of levels) is currently enabled by this instance's verbosity mask. | |
traitUnshare($serialize) | aModule | Remove the shared instance, so the next Shared() call creates a fresh one. | |
unserialize($data, $path, $instances) | aModule | \MMO\core\interfaces\iSerializable::unserialize -- merges $data onto DefaultConfig, runs it through the (possibly overridden) constructor, then applies each resulting value to its property (via | |
Unshare($serialize) | aModule | Like tSingleton::Unshare, but also disconnects this module's instance from every event it was listening to (via Event::DisconnectListeners) before dropping it. | |
warning($message, $context) | aModule | Exceptional occurrences that are not errors. | |
__construct($config) | aModule | protected constructor, so it is not possible to do new Module(...) called by the serialization process just before being injected with data. |