summaryrefslogtreecommitdiff
path: root/inc/ic-encrypt.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/ic-encrypt.php')
-rw-r--r--inc/ic-encrypt.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/inc/ic-encrypt.php b/inc/ic-encrypt.php
new file mode 100644
index 00000000..c0f499bd
--- /dev/null
+++ b/inc/ic-encrypt.php
@@ -0,0 +1,39 @@
+<?php
+// Z internetow.
+class Encryption {
+ var $skey = $config["imgcaptcha_key"];
+
+ public function safe_b64encode($string) {
+ $data = base64_encode($string);
+ $data = str_replace(array('+','/','='),array('-','_',''),$data);
+ return $data;
+ }
+
+ public function safe_b64decode($string) {
+ $data = str_replace(array('-','_'),array('+','/'),$string);
+ $mod4 = strlen($data) % 4;
+ if ($mod4) {
+ $data .= substr('====', $mod4);
+ }
+ return base64_decode($data);
+ }
+
+ public function encode($value){
+ if(!$value){return false;}
+ $text = $value;
+ $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
+ $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
+ $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv);
+ return trim($this->safe_b64encode($crypttext));
+ }
+
+ public function decode($value){
+ if(!$value){return false;}
+ $crypttext = $this->safe_b64decode($value);
+ $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
+ $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
+ $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv);
+ return trim($decrypttext);
+ }
+}
+?>