/** * 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; }
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; }