85 lines
2.5 KiB
Markdown
85 lines
2.5 KiB
Markdown
```
|
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
|
```
|
|
# class FOF (Details)
|
|
> namespace: **VDM\Joomla\Componentbuilder\Crypt**
|
|
```uml
|
|
@startuml
|
|
class FOF #Gold {
|
|
# AES $aes
|
|
# Random $random
|
|
# int $size
|
|
+ __construct(AES $aes, Random $random)
|
|
+ encrypt(string $string, string $key) : string
|
|
+ decrypt(string $string, string $key) : string
|
|
# getExpandedKey(string $key, int $blockSize, ...) : string
|
|
# resizeKey(string $key, int $size) : ?string
|
|
}
|
|
|
|
note right of FOF::__construct
|
|
Constructor
|
|
|
|
since: 3.2.0
|
|
end note
|
|
|
|
note right of FOF::encrypt
|
|
Encrypt a string as needed
|
|
|
|
since: 3.2.0
|
|
return: string
|
|
end note
|
|
|
|
note right of FOF::decrypt
|
|
Decrypt a string as needed
|
|
|
|
since: 3.2.0
|
|
return: string
|
|
end note
|
|
|
|
note right of FOF::getExpandedKey
|
|
Function taken from FOFEncryptAes
|
|
changed a little but basically the same
|
|
to ensure we get the same passwords (not ideal)
|
|
we should use `$this->aes->setPassword(...)` instead
|
|
but can't for backwards compatibility issues with already encrypted string
|
|
|
|
since: 3.2.0
|
|
return: string
|
|
|
|
arguments:
|
|
string $key
|
|
int $blockSize
|
|
string $iv
|
|
end note
|
|
|
|
note right of FOF::resizeKey
|
|
Function taken from FOFEncryptAes
|
|
changed a little but basically the same
|
|
to ensure we get the same passwords (not ideal)
|
|
we should use `$this->aes->setPassword(...)` instead
|
|
but can't for backwards compatibility issues with already encrypted string
|
|
|
|
since: 3.2.0
|
|
return: ?string
|
|
end note
|
|
|
|
@enduml
|
|
```
|
|
|
|
---
|
|
```
|
|
██╗ ██████╗██████╗
|
|
██║██╔════╝██╔══██╗
|
|
██║██║ ██████╔╝
|
|
██ ██║██║ ██╔══██╗
|
|
╚█████╔╝╚██████╗██████╔╝
|
|
╚════╝ ╚═════╝╚═════╝
|
|
```
|
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
|
|