2017-11-08 2 views
0

Ist codieren (Base64) - verschlüsseln - sicher über HTTP übertragen.Encrypting erhalten Base64 Encoding

Oder ist verschlüsseln - encodieren - den richtigen Weg zu übertragen?

Gibt es die Möglichkeit der Beschädigung von Daten, weil diese von Why do we use Base64?

Verwendung: Javax Chiffre AES/CBC/PKCS5Padding

für

Encoding mehrteiliger HTTP-Anforderung mit mehreren Dateianhänge verschlüsseln: base64

+0

der Trick ist immer Encode und dann verschlüsseln. Entschlüsseln und dann dekodieren. –

+2

Die Verschlüsselung und Entschlüsselung sollte auf dem ursprünglichen (kompakteren) 'byte []' erfolgen. Dann für die sichere Übertragung als einfaches 7-Bit ASCII _text_ man tut eine Base64 Kodierung/Entschlüsselung. _ (Wenn Text verschlüsselt werden soll, verwenden Sie 'getBytes (" UTF _ ")' und 'new String (Bytes," UTF-8 ")') ._ –

+2

Sie verwenden base64, wenn Sie * Textdaten * anstelle von * senden müssen binäre Daten - zum Beispiel wenn Sie ein textbasiertes Protokoll verwenden - also 'encrypt (base64 (x))' ist nicht etwas, das Sie normalerweise verwenden würden. Wenn Sie einen Multipart-/Formulardaten-Upload durchführen, benötigen Sie keine Codierung. Sie können die Rohbytes Ihres Chiffretextes im Anfragetext verwenden. –

Antwort

2

Der richtige Weg, um dies zu beheben ist verschlüsseln die rohe Informationen und dann kodieren zu Base64. Entschlüsselung ist offensichtlich die gleiche umgekehrt.

Rohe Binärdaten funktionieren nicht gut mit HTTP, es sei denn, es ist der Hauptteil der Anfrage. Wenn Sie Daten im Body übergeben, dann kodieren Sie nicht zu base64, senden Sie einfach den rohen binären Chiffretext, da dies die Größe der Anfrage reduziert.

+0

Danke genau das tun – Cybermonk

Verwandte Themen