OwlCyberSecurity - MANAGER
Edit File: CryptoUtil.php
<?php namespace PhpZip\Util; use PhpZip\Exception\RuntimeException; /** * Crypto Utils. * * @internal */ class CryptoUtil { /** * Returns random bytes. * * @param int $length * * @throws \Exception * * @return string * * @deprecated Use random_bytes() */ final public static function randomBytes($length) { return random_bytes($length); } /** * Decrypt AES-CTR. * * @param string $data Encrypted data * @param string $key Aes key * @param string $iv Aes IV * * @return string Raw data */ public static function decryptAesCtr($data, $key, $iv) { if (\extension_loaded('openssl')) { $numBits = \strlen($key) * 8; /** @noinspection PhpComposerExtensionStubsInspection */ return openssl_decrypt($data, 'AES-' . $numBits . '-CTR', $key, \OPENSSL_RAW_DATA, $iv); } if (\extension_loaded('mcrypt')) { return mcrypt_decrypt(\MCRYPT_RIJNDAEL_128, $key, $data, 'ctr', $iv); } throw new RuntimeException('Extension openssl or mcrypt not loaded'); } /** * Encrypt AES-CTR. * * @param string $data Raw data * @param string $key Aes key * @param string $iv Aes IV * * @return string Encrypted data */ public static function encryptAesCtr($data, $key, $iv) { if (\extension_loaded('openssl')) { $numBits = \strlen($key) * 8; /** @noinspection PhpComposerExtensionStubsInspection */ return openssl_encrypt($data, 'AES-' . $numBits . '-CTR', $key, \OPENSSL_RAW_DATA, $iv); } if (\extension_loaded('mcrypt')) { return mcrypt_encrypt(\MCRYPT_RIJNDAEL_128, $key, $data, 'ctr', $iv); } throw new RuntimeException('Extension openssl or mcrypt not loaded'); } }