PHP: criptare e decriptare con php

PHP: criptare e decriptare con php

Qualkosa di semplice e che non si istalla però con" parola chiave" sia per la critazione che per la decriptazione

grazie  :bye:

inviato 5 anni fa
max_400
X 0 X

che non si installa?  ???

Guarda puoi usare rotate13 (mi pare si chiami così non l'ho mai usata) che implementa il semplice metodo di Giulio Cesare di rotare ogni carattere di 13 posizione avanti nell'alfabeto, va bè è un gioco, una fesseria messa lì per divertimento, non certo una funzione di criptazione seria.

Se non erro ci sono delle funzioni di criptazione ma vanno installate, altro... cercati delle classi, dei programmi che implementano la criptazione, però sono lenti a funzionare!

risposto 5 anni fa
Marco Grazia
X 0 X

http://donatantonio.altervista.org/script/phpBlowfish/index.html

qualkosa di questo tipo però in php ...

magari semplicemente copiando qualke file nella stessa cartella del form a cui si collega...

tipo questo

<?php
require "blowfish.php";

$data = "password da criptare";
$key  = "chiave_del_blowfish";

$cdata = PMA_blowfish_encrypt($data, $key);

$ddata = PMA_blowfish_decrypt($cdata, $key);

echo "Dato da criptare :$data \n";
echo "Password $key \n";
echo "Dato criptato : $cdata \n";
echo "Dato decriptato $ddata \n";
?>

ne ho provato alcuni di blowfish.php ma non funzionano... bò

risposto 5 anni fa
max_400
X 0 X

Quello è PHP ma se non scarichi tutti i files non ci fai nulla solo con quello script.

In particolare dovrai avere il file blowfish.php nella stessa cartella (o altrove) e in più la classe criptografia.php insomma l'esempio mi pare chiaro e sotto c'è un link in cui scarichi tutto ciò che serve per farlo funzionare, dentro ci sono pure file di test.

risposto 5 anni fa
Marco Grazia
X 0 X

ho messo tutto nella stessa cartella e non funziona... mi dice

Fatal error: Call to undefined function: str_split() in ..... /crittografia.php on line 40

risposto 5 anni fa
max_400
X 0 X

Questo sì che non ha senso, quella è una funzione del PHP non può non trovarla  :dunno:

risposto 5 anni fa
Marco Grazia
X 0 X

appunto ne ho provato altri e non funzionano altri messaggi di errore

Fatal error: main() [function.require]: Failed opening required 'PEAR.php' (include_path='.:') in

............../Blowfish.php on line 29

<?php

   include_once('CBC_functions.php');
   include_once('Blowfish.php');




   //NOTE: This is the key or password for encrypting your files.
   // THIS MUST BE 8 CHARACTERS
   $key = "12345678";
   
   //This is the text to be encrypted
   $plaintext = "now is the time for all good men to come to the aid of their country";

   //This is a blowfish cipher object
   $cipher = new Crypt_Blowfish($key); 

   //This is the encrypted text
   $ciphertext = Eencrypt($cipher,$plaintext);

  
   print $ciphertext."\n"; 

   //This is the Decrypted text.
   $plaintext = Edecrypt($cipher,$ciphertext);  

   print $plaintext."\n";

?>

i 2 file ci sono e altri ancora e anche questo non và

risposto 5 anni fa
max_400
X 0 X

Ti mancano le librerie PEAR ma non era specificato prima.

Ti stai infilando in un bel casino di file, ma sei sicuro che ti serva davvero tutta questa roba?

risposto 5 anni fa
Marco Grazia
X 0 X

bò... ci lascio perdere...

di solito blowfish si trova nelle librerie di phpadminstrator

ma io questo programma non ce l'ho istallato in locare ma in rete

e non sò dova cacchio si trovino.

Forse ci vuole proprio quello specifico

e poi inseguito lo script a cui collegarlo.

mà... :D

risposto 5 anni fa
max_400
X 0 X

Ciao Max_400 ho letto questa discussione ieri sera e dopo aver fatto una breve ricerca su Google Code sono riuscito a trovare (presumibilmente) la stella libreria che utilizzi tu.

Così ho preparato un Test Case, di cui ti riporto un pezzo di codice qui sotto, per verificare che le funzioni che hai utilizzato sono funzionanti:

<?php
$originalData = 'stringa da criptare';

$encryptedData = PMA_blowfish_encrypt($originalData, 'blowfish key');
$decryptedData = PMA_blowfish_decrypt($encryptedData, 'blowfish key');

$this->assertEquals($originalData,
                    $decryptedData,
                    'Il dato criptato e successivamente decriptato non è il medesimo');

Il codice completo del Test Case lo trovi all'indirizzo:

https://github.com/trashofmasters/PHPNews/blob/master/tests/BlowfishTest.php

Mentre la libreria che ho incluso (è un solo file, per cui dovrebbe essere sufficiente includerlo e usare le funzioni) è disponibile all'indirizzo

https://github.com/trashofmasters/PHPNews/blob/master/tests/blowfish.php

Eseguendo il Test Case con PHPUnit i test passano tutti, per cui scaricando il file 'blowfish.php' che ho trovato il problema non dovrebbe risolversi.

Se così non fosse allora inizierei a dare un'occhiata più approfondita al tuo ambiente: direttive nel php.ini, include path, pacchetti PEAR, etc.

 :bye:

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

e allora il file blowfish non mi dà errore (mancava soo il ?> finale)

l'altro invece lo script (completo) midà errore

forse una stupidagine manca qualkosa alla fine

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ........................................../prova2.php on line 14
risposto 5 anni fa
max_400
X 0 X

Se il file che ti dava errore inizialmente era solo codice php il ?> poteva essere tolto.

Puoi farci vedere il codice dello script che da errore?

risposto 5 anni fa
Mario Santagiuliana
X 0 X
<?php

require_once 'blowfish.php';

/**
*
*
*/
class BlowfishTest extends PHPUnit_Framework_TestCase
{
    /**
* @test
*/
    public function criptareUnaStringaConBlowfishRendeLaStringaIrriconoscibile()
    {
        $data = "stringa da criptare";
        $encryptedData = PMA_blowfish_encrypt($data, 'blowfish key');

        $this->assertNotEquals($data,
                               $encryptedData,
                               "Il dato criptato dovrebbe almeno essere diverso dall'originale.");
    }

    /**
* @test
*/
    public function unaStringaDecriptataCorrispondeAQuellaDiPartenza()
    {
        $originalData = 'stringa da criptare';

        $encryptedData = PMA_blowfish_encrypt($originalData, 'blowfish key');
        $decryptedData = PMA_blowfish_decrypt($encryptedData, 'blowfish key');

        $this->assertEquals($originalData,
                            $decryptedData,
                            'Il dato criptato e successivamente decriptato non è il medesimo');
    }
}
?>

ed ecco l'errore

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ..../blowfish-trasformer/BlowfishTest.php on line 14

mentre l'altro file blowfish.php

non dà nessun errore

risposto 5 anni fa
max_400
X 0 X

@max_400: Io non mi preoccuperei troppo del fatto che tu non riesca ad eseguire il codice contenuto all'interno di BlowfistTest.php per due semplici motivi: il file dovrebbe essere eseguito usando PHPUnit e con PHP 5.3. Non ho provato ad eseguire il test con PHPUnit e con PHP 5.2 o inferiore.

Mentre per quanto riguarda il file blowfish.php, quello che ti funziona in pratica, dovresti provare ad includerlo e utilizzare le funzioni di cui hai bisogno e assicurarti che funzionino, tutto qui.

Includi blowfish.php nel tuo file e usi le funzioncine PMA_blowfish_encrypt e PMA_blowfish_decrypt per criptdare/decriptare, se hai ancora problemi chiedi pure.

 :bye:

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
modificato 5 anni fa
X 0 X

ciao trasfh....

grazie per l'assistenza ma io non conosco quelle funzioni...

mi puoi creare un altro script (vecchiotto) io uso ancora php4 di altervista

grazie 1000

risposto 5 anni fa
max_400
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda

Domande simili