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;
}
}
?>