PHP 8.0.30
Preview: Encrypt.php Size: 1.34 KB
/home/certprox/template.certproxywizard.com/wp-content/plugins/hostinger-reach/src/Setup/Encrypt.php

<?php

namespace Hostinger\Reach\Setup;

class Encrypt {
    public const ENCRYPT_METHOD = 'AES-256-CBC';

    public static function encrypt( string $value ): string {
        if ( ! self::can_encrypt() ) {
            return base64_encode( $value );
        }

        $key       = hash( 'sha256', AUTH_KEY, true );
        $iv        = openssl_random_pseudo_bytes( openssl_cipher_iv_length( self::ENCRYPT_METHOD ) );
        $encrypted = openssl_encrypt( $value, self::ENCRYPT_METHOD, $key, 0, $iv );

        return base64_encode( $iv . $encrypted );
    }

    public static function decrypt( string $value ): string {
        if ( ! self::can_encrypt() ) {
            return base64_decode( $value );
        }
        $iv_length = openssl_cipher_iv_length( self::ENCRYPT_METHOD );
        $data      = base64_decode( $value );
        $iv        = substr( $data, 0, $iv_length );
        $encrypted = substr( $data, $iv_length );
        $key       = hash( 'sha256', AUTH_KEY, true );

        return openssl_decrypt( $encrypted, self::ENCRYPT_METHOD, $key, 0, $iv );
    }

    private static function get_auth_key(): string {
        if ( ! DEFINED( 'AUTH_KEY' ) ) {
            return '';
        }

        return AUTH_KEY;
    }

    private static function can_encrypt(): bool {
        return extension_loaded( 'openssl' ) && self::get_auth_key();
    }
}

Directory Contents

Dirs: 0 × Files: 5

Name Size Perms Modified Actions
1.20 KB lrw-r--r-- 2026-06-10 16:30:29
Edit Download
26.55 KB lrw-r--r-- 2026-06-10 16:30:29
Edit Download
882 B lrw-r--r-- 2026-06-10 16:30:29
Edit Download
856 B lrw-r--r-- 2026-06-10 16:30:29
Edit Download
1.34 KB lrw-r--r-- 2026-06-10 16:30:29
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).