compatEncrypt($message, $key)); } catch (Exception $e) { // Handle the exception (e.g., log it, rethrow it, or return a meaningful error message) Log::debug_log('Encryption failed: ' . $e->getMessage()); /* translators: %s: dynamic value. */ return new WP_Error('encryption_failed', sprintf(__('Encryption failed: %s', 'bit-form'), esc_html($e->getMessage()))); } } public static function decrypt($message, $key) { try { if (32 !== strlen($key)) { $key = hash('sha256', $key, true); // Generate a 32-byte raw binary key } return self::getSodiumCompat()->compatDecrypt(base64_decode($message), $key); } catch (\Exception $e) { // Handle the exception Log::debug_log('Decryption failed: ' . $e->getMessage()); /* translators: %s: dynamic value. */ return new WP_Error('decryption_failed', sprintf(__('Decryption failed: %s', 'bit-form'), esc_html($e->getMessage()))); } } }