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)
|
||
|
|