Controller.php

<?php 

namespace ROF\AntiSpam;

class Controller {

    protected $data = array();
    protected $keyPair;
    protected $publicKey;
    
    public function __construct(){
        
        $this->keyPair = sodium_crypto_sign_keypair();
        $this->publicKey = sodium_crypto_sign_secretkey($this->keyPair);
    }
    
    
    public function display(){
        
        echo $this->getInputHtml();
        
    
    }
    
    public function getHtml(){
        ob_start();
        include(__DIR__.'/View/Inputs.php');
        $html = ob_get_clean();
        return $html;
    }
    
    public function getJsSecret(){
        $jsSecret = 
    }
    
    public function encrypt($value){
        
        $alice_pk = sodium_crypto_sign_publickey($alice_kp);
        
        
        $signature = sodium_crypto_sign_detached($value, $alice_sk);
        if (!sodium_crypto_sign_verify_detached($signature, $value, $alice_pk)) {
            throw new \Exception('Invalid signature');
        }
        
        if (!in_array($signature,$this->data)){
            
            $this->data[$value] = array($signature => $alice_pk);
        }
        return $signature;
        
    }
    
    
    
    
}



?>