2010-08-26 9 views
6

Esistono librerie JavaScript che consentono di crittografare e decrittografare AES a 256 bit nel modo in cui lo si fa con mcrypt in PHP (e ottenere ovviamente lo stesso risultato)? Voglio dargli un messaggio a lunghezza variabile e una chiave di 32 caratteri. Tutte le librerie che trovo vogliono blocchi a lunghezza fissa di testo in chiaro e array di byte di chiavi.AES in JavaScript che corrisponde a mcrypt di PHP

Questo è come si fa in PHP:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
echo mcrypt_encrypt(MCRYPT_RIJNDAEL_256, "32 CHARS THAT REPRESENT MY KEY!!", "hello", MCRYPT_MODE_ECB, $iv);  
+1

perché si desidera crittografare utilizzando javascript? in modo che la tua chiave di crittografia possa essere vista dal mondo? – naveen

+2

ah non preoccuparti, la chiave viene inviata tramite https. – Martin

+1

HTTPS o meno, gli utenti possono ancora vedere la chiave nel tuo JavaScript. Pertanto, se per esempio visitassi il tuo sito con una connessione HTTPS, ** I ** potrebbe vedere ancora la chiave di crittografia semplicemente visualizzando il codice sorgente o utilizzando uno strumento come Firebug. – Frxstrem

risposta