2009-06-29 3 views
1

Ich verschlüssele eine Datei mit Ideen aus tldp.org/LDP/LG/issue87/vinayak.html. Ich habe diesen Quellcode zum Verschlüsseln/Entschlüsseln einer einfachen Textdatei heruntergeladen und kompiliert. Einmal zusammengestellt ich tun:Fehler beim Entschlüsseln der Datei

./blowfish input_file.txt output_enc.txt output_dec.txt

ich die Optionen verwenden:

  1. G für einen Schlüssel
  2. E zum Verschlüsseln der Datei zu erzeugen, so wird output_enc.txt erzeugt
  3. D zum Entschlüsseln output_enc.txt also output_dec.txt wird erzeugt

Im dritten Schritt erhalte ich einen Segmentierungsfehler. Eine entschlüsselte Datei wird generiert, unterscheidet sich jedoch in einigen Zeichen von der ursprünglichen Datei. Irgendwelche Ideen?

+0

Bitte geben Sie uns einen Quellcode, um fortzufahren. Vielleicht von wo Sie denken, dass der Segmentierungsfehler auftritt. – Skurmedel

+0

Ich werde Sekunde. Ohne den Code schießen wir nur im Dunkeln. Hier ist eine Idee: Probieren Sie eine kleinere Datei aus, um zu sehen, ob es immer noch Fehler gibt. Wenn dies nicht der Fall ist, haben Sie einen Puffer irgendwo zu klein deklariert. – scvalex

+0

Hallo, ich habe versucht, den Code einzufügen, aber ich kann nicht. Hier die ursprüngliche kleine Quelldatei: http://tldp.org/LDP/LG/issue87/misc/vinayak/sym_funcs.c.txt –

Antwort

0

versuchte es auf meiner Maschine, das gleiche Ergebnis, kann ich nur davon ausgehen, dass dies auf eine ältere Crypto Lib geschrieben wurde, die die neue mit inkompatibel ist. Wenn es von Interesse ist, die Segmentation fault ist auf der Leitung

if (EVP_DecryptFinal (&ctx, outbuf + olen, &tlen) != 1) 

Prozess beendet mit Standardaktion des Signals 11 (SIGSEGV) Zugang nicht innerhalb abgebildet Region an der Adresse 0x808080C

1

Diese Frage ist sehr ähnlich wie die eine, die ich zuvor beantwortet habe. Haben Sie gesucht, bevor Sie die Frage gepostet haben? Wie auch immer, hier ist die link. Die Seite, die Sie als Quelle verwenden, ist falsch. Beachten Sie, dass der von mir bereitgestellte Code nur eine korrigierte Version des ursprünglich bereitgestellten Codes ist und optimiert werden kann.

+0

Das x-ref sieht gut aus! –