.. | ||
code.php | ||
code.power | ||
README.md | ||
settings.json |
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
class AES (Details)
namespace: VastDevelopmentMethod\Joomla\FOF\Encrypt
@startuml
class AES #Gold {
# $key
# $adapter
+ __construct(string $key, int $strength = 128, ...)
+ setPassword(string $password, bool $legacyMode = false)
+ encryptString(string $stringToEncrypt, bool $base64encoded = true) : string
+ decryptString(string $stringToDecrypt, bool $base64encoded = true) : string
+ {static} isSupported(Phpfunc $phpfunc = null) : boolean
+ getExpandedKey($blockSize, $iv) : string
hash_pbkdf2($algo, $password, ...)
}
note right of AES::__construct
Initialise the AES encryption object.
Note: If the key is not 16 bytes this class will do a stupid key expansion for legacy reasons (produce the
SHA-256 of the key string and throw away half of it).
arguments:
string $key
int $strength = 128
string $mode = 'cbc'
Phpfunc $phpfunc = null
string $priority = 'openssl'
end note
note right of AES::setPassword
Sets the password for this instance.
WARNING: Do not use the legacy mode, it's insecure
end note
note right of AES::encryptString
Encrypts a string using AES
the raw string is the IV (initialisation vector) which
is necessary for decoding the string.
return: string
end note
note right of AES::decryptString
Decrypts a ciphertext into a plaintext string using AES
the IV (initialisation vector).
return: string
end note
note right of AES::isSupported
Is AES encryption supported by this PHP installation?
return: boolean
end note
note right of AES::getExpandedKey
return: string
end note
note right of AES::hash_pbkdf2
arguments:
$algo
$password
$salt
$count
$length
$raw_output = false
end note
@enduml
██╗ ██████╗██████╗
██║██╔════╝██╔══██╗
██║██║ ██████╔╝
██ ██║██║ ██╔══██╗
╚█████╔╝╚██████╗██████╔╝
╚════╝ ╚═════╝╚═════╝
Build with Joomla Component Builder