Zachęcam do zapoznania się systemów kodowania plików oraz tekstów. Poniżej przedstawie prostą aplikacje do kodowania wiadomości oraz plików. System można wykorzystać jako bezpieczny kanał informacji między użytkownikami.
Przykłady aplikacji:
Class Encryption:
Encryption Class | |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
class Encryption{ /* Autor: Damian Sulmowski www: http://www.sulmowski.eu email: damian@sulmowski.eu */ private $td; private $key; /* INIT function to register Encryption*/ public function init($choice){ if ($choice == '1'){ $td = mcrypt_module_open (MCRYPT_DES, '', 'ecb', ''); }elseif ($choice == '2'){ $td = mcrypt_module_open (MCRYPT_3DES, '', 'ecb', ''); }elseif ($choice == '3'){ $td = mcrypt_module_open (MCRYPT_RIJNDAEL_128, '', 'ecb', ''); }elseif ($choice == '4'){ $td = mcrypt_module_open (MCRYPT_GOST, '', 'ecb', ''); } $this->td = $td; } /* Get size char key to crypt */ public function getSizeKey(){ return mcrypt_enc_get_key_size($this->td); } /* Get random key */ public function getRandomKey(){ srand ((double) microtime() * 1000000); return substr(md5(uniqid(rand())),0,$this->getSizeKey()); } /* Set key to crypt */ public function key($key){ $this->key =substr($key,0,mcrypt_enc_get_key_size($this->td)); } /* Function to encypt string */ public function encrypt($string) { $iv_size = mcrypt_enc_get_iv_size($this->td); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); if (mcrypt_generic_init($this->td, $this->key, $iv) != -1) { $c_t = mcrypt_generic($this->td, $string); mcrypt_generic_deinit($this->td); mcrypt_module_close($this->td); $c_t = $iv.$c_t; return trim($c_t); } return false; } /* Function to decypt string */ public function decrypt($string) { $iv_size = mcrypt_enc_get_iv_size($this->td); $iv = substr($string,0,$iv_size); $string = substr($string,$iv_size); if (mcrypt_generic_init($this->td, $this->key, $iv) != -1) { $c_t = mdecrypt_generic($this->td, $string); mcrypt_generic_deinit($this->td); mcrypt_module_close($this->td); return trim($c_t); } return false; } } |
Użyj jako encrypt (szyfrowanie):
Encrypt | |
1 2 3 4 5 6 7 |
$crypt=new Encryption; // Encrypt as DES $crypt->init('1'); // Your secret key $crypt->key('#^%^&GdsSDA^&asd34dfs'); // Your msg $cryptMsg=$crypt->encrypt('Message to encrypt'); |
Użyj jako decrypt (odszyfrowywanie):
1 2 3 4 5 6 7 |
$crypt=new Encryption; // Decrypt as DES $crypt->init('1'); // Your secret key $crypt->key('#^%^&GdsSDA^&asd34dfs'); // Your msg $cryptMsg=$crypt->decrypt('Message to decrypt'); |
Rodzaje szyfrowań:
1 2 3 4 |
init(1) -> MCRYPT_DES init(2) -> MCRYPT_3DES init(3) -> MCRYPT_RIJNDAEL_128 init(4) -> MCRYPT_GOST |