$ret = $this->enc_sym($key,$str); return base64_encode($cry).':'.base64_encode($ret); } function dec_pub($dat) { list($cry,$str) = array_map('base64_decode',explode(':',$dat)); $res = openssl_get_publickey($this->pub); openssl_public_decrypt($cry,$key,$res); $ret = $this->dec_sym($key,$str); return trim($ret); } } header('Content-Type: text/plain'); $source = file_get_contents(__FILE__); echo strlen($source)."\n"; echo "Source: $source\n"; $cry = new bcrypt(); $cry->setPrivateFile("pkey/pri_key",'aaaa'); $cry->setPublicFile("pkey/pub_key"); $str = $cry->enc_pri($source); echo $str."\n"; echo $cry->dec_pub($str); return;