/**
  * Create a new UserAgentGenerator instance.
  *
  * @param Key         $secretKey
  * @param string|null $userAgent
  */
 public function __construct(Key $secretKey, string $userAgent = null)
 {
     if ($userAgent !== null) {
         $userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '';
     }
     $this->userAgent = $secretKey->saveToAsciiSafeString() . $userAgent;
 }
Example #2
0
 private function encryptGroupKey(User $user, Key $groupKey)
 {
     // Encrypt key with users public key
     $pubKey = $user->getPubKey();
     // TODO check return
     openssl_public_encrypt($groupKey->saveToAsciiSafeString(), $encryptedKey, $pubKey);
     return $encryptedKey;
 }
function defuse_crypto($message, $key, $type)
{
    //echo $message." ;; ".$key." ;; ".$type;
    // init
    $err = '';
    // manage key origin
    if (empty($key) && $type == "encrypt") {
        try {
            $key = \Defuse\Crypto\Crypto::createNewRandomKey();
        } catch (\Defuse\Crypto\Exception\CryptoTestFailedException $ex) {
            $err = 'Cannot safely create a key';
        } catch (\Defuse\Crypto\Exception\CannotPerformOperationException $ex) {
            $err = 'Cannot safely create a key';
        }
        //\Defuse\Crypto\Encoding::binToHex($key);
        $tmp = \Defuse\Crypto\Key::saveToAsciiSafeString($key);
        //echo $key_plain;
    }
    if ($type == "encrypt") {
        try {
            $ciphertext = \Defuse\Crypto\Crypto::Encrypt($message, $key);
        } catch (\Defuse\Crypto\Exception\CryptoTestFailedException $ex) {
            $err = 'Cannot safely perform encryption';
        } catch (\Defuse\Crypto\Exception\CannotPerformOperationException $ex) {
            $err = 'Cannot safely perform encryption';
        }
        return array('string' => isset($ciphertext) ? $ciphertext : "", 'error' => $err);
    } else {
        if ($type == "decrypt") {
            try {
                $decrypted = \Defuse\Crypto\Crypto::Decrypt($message, $key);
            } catch (\Defuse\Crypto\Exception\InvalidCiphertextException $ex) {
                $err = 'DANGER! DANGER! The ciphertext has been tampered with!';
            } catch (\Defuse\Crypto\Exception\CryptoTestFailedException $ex) {
                $err = 'Cannot safely perform decryption';
            } catch (\Defuse\Crypto\Exception\CannotPerformOperationException $ex) {
                $err = 'Cannot safely perform decryption';
            }
            return array('string' => isset($decrypted) ? $decrypted : "", 'error' => $err);
        }
    }
}
 /**
  * Create a new ClientIpGenerator instance.
  *
  * @param Key $secretKey
  */
 public function __construct(Key $secretKey)
 {
     $clientIp = $this->getIpAddress();
     $this->clientIp = $secretKey->saveToAsciiSafeString() . $clientIp;
 }