summaryrefslogtreecommitdiff
path: root/include/crypt.php
blob: f06483ef118a963b0a074ea8009bc697158f0d08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
	function decrypt_string($str) {
		$pair = explode(":", $str);

		if (count($pair) == 2) {
			@$iv = base64_decode($pair[0]);
			@$encstr = base64_decode($pair[1]);

			if ($iv && $encstr) {
				$key = hash('SHA256', FEED_CRYPT_KEY, true);

				$str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encstr,
					MCRYPT_MODE_CBC, $iv);

				if ($str) return rtrim($str);
			}
		}

		return false;
	}

	function encrypt_string($str) {
		$key = hash('SHA256', FEED_CRYPT_KEY, true);

		$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,
			MCRYPT_MODE_CBC), MCRYPT_RAND);

		$encstr = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $str,
			MCRYPT_MODE_CBC, $iv);

		$iv_base64 = base64_encode($iv);
		$encstr_base64 = base64_encode($encstr);

		return "$iv_base64:$encstr_base64";
	}
?>