HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/wise-chat/src/WiseChatCrypt.php
<?php

/**
 * WiseChat encryption support.
 *
 * @author Kainex <contact@kainex.pl>
 */
class WiseChatCrypt {
	const PUBLIC_KEY = 'Ci0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU4rc1p5VkVMOURDWkRQNks3Nml3dnBJb2J5NWQrUDkKUmtZRzRDQkJaQ3Q5dnh3N1dqLzhlbjk3RU9ENW53bDJqVFAzalRPNmFhRHdGRFc0dDU5U3Baa0NBd0VBQVE9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0K';

	/**
	 * @param string $string
	 * @return string
	 */
	public static function encryptToString($string) {
		$secretKey = self::PUBLIC_KEY;
		$secretIv = self::getSalt();

		$encryptMethod = "AES-256-CBC";
		$key = hash('sha256', $secretKey);
		$iv = substr(hash('sha256', $secretIv), 0, 16);

		return base64_encode(openssl_encrypt($string, $encryptMethod, $key, 0, $iv));
	}

	/**
	 * @param string $string
	 * @return string|null
	 */
	public static function decryptFromString($string) {
		$secretKey = self::PUBLIC_KEY;
		$secretIv = self::getSalt();

		$encryptMethod = "AES-256-CBC";
		$key = hash('sha256', $secretKey);
		$iv = substr(hash('sha256', $secretIv), 0, 16);

		$output = openssl_decrypt(base64_decode($string), $encryptMethod, $key, 0, $iv);

		return is_string($output) ? $output : null;
	}
	
	/**
	* Returns unique salt for WordPress installation.
	*
	* @return string
	*/
	private static function getSalt() {
		return wp_hash('MVBTY09CMHY0a0Z0a2NkcjlsZnZLcDZiSkZpYUhUL3VoWVh0OQotLS0tL');
	}
}