2012-03-29 7 views
0

ich gerade bin verwirrt, was ist der Padding-Modus verwendet werden, wenn die Verwendung krypto: des_ecb_encrypt/2 in erlang. Vielen Dank im Voraus!was ist der Padding-Modus verwendet werden, wenn die Verwendung krypto: des_ecb_encrypt/2 in erlang

+0

Eh, scheint es keine Polsterung zu tun, wenn ich mich nicht irre. Möglicherweise müssen Sie sich selbst pad/unpad. Könnten Sie versuchen, ein einzelnes Byte oder Zeichen zu verschlüsseln? Wenn dies fehlschlägt, arbeiten Sie ohne Auffüllen. Wenn es funktioniert, versuchen Sie, entschlüsseln und sehen, ob die Ausgabe übereinstimmt. Ist dies nicht der Fall, wird eine automatische, aber nicht definierte Auffüllung ausgeführt. –

+0

Nur zu meiner Information, was bedeutet das/2? –

+1

Funktion/2 ist Syntax für eine Funktion von Arity 2 (zwei Argumente). – butter71

Antwort

0

Um die herauszufinden, verschlüsselt einigen Klartext, die nicht eine ganze Anzahl von Blöcken ist. Entschlüsseln Sie es mit "no padding" set, und sehen Sie, was der Verschlüsselungsprozess am Ende des letzten Blocks hinzugefügt hat.

Wenn die Verschlüsselung fehlschlägt, dann wird es erwartet Sie wahrscheinlich zuerst Ihre eigene Polsterung hinzuzufügen. Wie bereits gesagt, verwenden Sie PKCS5 oder PKCS7 Padding.

+0

Ich habe per Post nicht als Antwort, weil ich nicht sicher, welche Art von Polsterung wusste rossum verwendet wurde, ist die Antwort von mir im Grunde genommen, ohne die eigentliche Polsterung Mechanismus zu erzählen. –

+0

Ich habe Sie einen Weg, um herauszufinden, welche Polsterung Mechanismus verwendet wurde: Entschlüsseln mit „no padding“ und an der Polsterung zum letzten Block hinzugefügt aussehen. – rossum

+0

Macht nichts mit rossum, ich machte die Kommentare und stellte die Frage nicht. Und ich hatte bereits vorgeschlagen, ein einzelnes Byte zu verschlüsseln und die Ausgabe zu entschlüsseln - ich habe es einfach nicht als Antwort hingestellt, weil es nicht direkt verwendbar ist. –