Files
hub-insurance/wp-content/plugins/gravitysmtp/includes/utils/class-basic-ecrypted-hash.php
T
2026-07-02 15:54:39 -06:00

46 lines
956 B
PHP

<?php
namespace Gravity_Forms\Gravity_SMTP\Utils;
class Basic_Encrypted_Hash {
const METHOD = 'aes-256-ctr';
public function encrypt( $message ) {
$nonce_size = openssl_cipher_iv_length( self::METHOD );
$nonce = openssl_random_pseudo_bytes( $nonce_size );
$cipher = openssl_encrypt(
$message,
self::METHOD,
SECURE_AUTH_KEY,
OPENSSL_RAW_DATA,
$nonce
);
return base64_encode( $nonce . $cipher );
}
public function decrypt( $message ) {
$message = base64_decode( $message, true );
if ( $message === false ) {
return new \WP_Error( 'bad_encryption', 'Encryption failure' );
}
$nonce_size = openssl_cipher_iv_length( self::METHOD );
$nonce = mb_substr( $message, 0, $nonce_size, '8bit' );
$cipher = mb_substr( $message, $nonce_size, null, '8bit' );
$plaintext = openssl_decrypt(
$cipher,
self::METHOD,
SECURE_AUTH_KEY,
OPENSSL_RAW_DATA,
$nonce
);
return $plaintext;
}
}