2016-03-22 2 views
2

Ich benutze aesEncryptWithStaticIV() von here, um Daten zu verschlüsseln.Das Entschlüsseln von Daten, die von iOS empfangen wurden, schlägt auf großen Daten fehl - PHP

Für Textdaten "Test", geben Sie mir verschlüsselte Ergebnis 065TnFFNwQFRjPZk6l8luw== und PHP erfolgreich entschlüsseln.

Aber mit 'echten' Daten

zB: "progression|*|D4E1B270-06DD-4A|*|25|*|342|*|159|*|10|*|1457454939636.0"

PHP nicht korrekt, die Daten entschlüsseln, geben Sie mir "m/^(_2<=Q9KBu#~<,s+z'sS)\\nrMc-o|PCxJNo/"

hier ist PHP-Entschlüsselungs-Funktion :

function decrypt($data) { 
    $code = base64_decode (urldecode ($data)); 
    $iv = $this->iv; 
    $td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv); 
    mcrypt_generic_init($td, $this->key, $iv); 
    $decrypted = mdecrypt_generic($td, $code); 
    mcrypt_generic_deinit($td); 
    mcrypt_module_close($td); 
    return trim(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $decrypted)); 
} 

und ihre e Verfahren zum Verschlüsseln von Daten (gesendet von http Post):

Let dump = versuchen! data.stringByAddingPercentEncodingForRFC3986()! aesEncrypt()

Ich verstehe nicht, warum es nur mit kurzen/einfachen Daten funktioniert?

+2

** ** Nie CBC-Modus mit einer statischen IV verwenden. Es ist deterministisch und daher nicht semantisch sicher. Sie sollten mindestens eine zufällige IV verwenden. Es muss nicht geheim sein, also können Sie es zusammen mit dem Geheimtext senden. Es ist zwar besser, Ihre Chiffrate zu authentifizieren, so dass Angriffe wie ein [padding oracle attack] (http://crypto.stackexchange.com/q/18185/13022) nicht möglich sind. Dies kann mit authentifizierten Modi wie GCM oder EAX oder mit einem [encrypt-then-MAC] (http://crypto.stackexchange.com/q/202/13022) Schema erfolgen. –

+0

Ich kam hierher, um zu sagen, was @ArtjomB. sagte. –

+0

Vielen Dank für die Beratung, ich werde meinen Code ändern. – Khorwin

Antwort

0

einfach urldecode() von PHP entfernen, versteht nicht, warum, aber es corrompt die Daten, aber visuell es keine Unterschiede ...

Verwandte Themen