first commit
This commit is contained in:
28
app/Services/Crypto/PdnCipher.php
Normal file
28
app/Services/Crypto/PdnCipher.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Crypto;
|
||||
|
||||
/**
|
||||
* Контракт криптографического драйвера для защиты персональных данных.
|
||||
*
|
||||
* Мера ФСТЭК: ЗНИ (защита носителей информации), ОЦЛ.2.
|
||||
* Абстракция позволяет менять реализацию (AES Laravel ↔ ГОСТ/КриптоПро)
|
||||
* без изменения моделей и бизнес-логики (мера ЗИС.16).
|
||||
*/
|
||||
interface PdnCipher
|
||||
{
|
||||
/**
|
||||
* Зашифровать значение.
|
||||
*/
|
||||
public function encrypt(string $plaintext): string;
|
||||
|
||||
/**
|
||||
* Расшифровать значение.
|
||||
*/
|
||||
public function decrypt(string $ciphertext): string;
|
||||
|
||||
/**
|
||||
* Идентификатор алгоритма (для аудита и маркировки).
|
||||
*/
|
||||
public function algorithm(): string;
|
||||
}
|
||||
Reference in New Issue
Block a user