Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- function generate_random($n){
- $bytes = openssl_random_pseudo_bytes($n, $cstrong);
- $hex = bin2hex($bytes);
- if($cstrong) return $hex;
- else die('Error');
- }
- class E_userside {
- var $password;
- var $signup_salt;
- var $p;
- function createUniqueIV(){
- return generate_random(8);
- }
- function createUserSalt(){
- return generate_random(300);
- }
- function fetchPubKey(){
- $this->p=openssl_pkey_get_public(file_get_contents('publickey'));
- }
- function encrypt($message){
- $iv=$this->createUniqueIV();
- $dk=generate_random(32);
- $uk_ = $dk ^ $this->getuk();
- openssl_public_encrypt($dk, $dk_,$this->p);
- return base64_encode(serialize(array('cipher'=>openssl_encrypt ($message, 'aes192', $dk, false,$iv),'iv'=>$iv, 'uk_'=>$uk_, 'dk_'=>$dk_)));
- }
- function decrypt($result){
- $array=unserialize(base64_decode($result));
- $uk=$this->getuk();
- $dk=$array['uk_']^$uk;
- return openssl_decrypt ($array['cipher'], 'aes192', $dk, false,$array['iv']);
- }
- }
- ######################ADMIN
- class E_adminside {
- var $P;
- function createUniqueIV(){
- return generate_random(8);
- }
- function fetchPrivateKey(){
- $this->P=openssl_pkey_get_private(file_get_contents('privatekey'));
- }
- function encryptComment($message,$params){
- openssl_private_decrypt($params['dk_'], $dk,$this->P);
- $iv=$this->createUniqueIV();
- return array('cipher'=>openssl_encrypt ($message, 'aes192', $dk, false,$iv),'iv'=>$iv, 'uk_'=>$params['uk_'], 'dk_'=>$params['dk_']);
- }
- function decrypt($data){
- $array=unserialize(base64_decode($data));
- openssl_private_decrypt($array['dk_'], $dk,$this->P);
- return openssl_decrypt ($array['cipher'], 'aes192', $dk, false,$array['iv']);
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement