Warum beschwert sich vim über schwache Krypto bei der Verwendung von Blowfish2?


9

Ich habe ein Dokument aus dem Jahr 2015 geöffnet, das ich mit der in vim ( :X) integrierten Krypto gespeichert habe . Das war damals sparsam blowfish.

Die Nachricht, die ich jetzt (2017) bekam, war folgende:

Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: *********************************************
Enter same key again: *********************************************

Das war komisch, dachte ich, aber ich nahm an, dass es mit einem Fehler zu tun hatte, und nachdem ich mich über die Kryptomethoden informiert hatte set cryptomethod=blowfish2. Dies funktioniert nach dem Öffnen und zeigt die Kryptomethode als Blowfish 2. Das Problem ist, dass ich immer noch die Meldung über die Verwendung einer schwachen Verschlüsselung erhalte! Warum? Gibt es Reste der alten Kryptosignatur von blowfish1? Muss ich den Text exportieren und erneut speichern, um ihn zu korrigieren?


2
Versuchen Sie es erneut mit Blowfish2 zu verschlüsseln (das funktioniert nur, wenn alle Ihre Vim-Versionen neu genug sind)
Christian Brabandt

Antworten:


10

Die Kryptomethode wird in der Datei selbst gespeichert und nicht automatisch aktualisiert.

Sie können dies sehen mit less:

$ less a
VimCrypt~02!!<C7>\<E1>wZzm
^E^X^Z<92>5<C9>I6<9C>S

VimCrypt~01!ist cm=zip, VimCrypt~02!ist cm=blowfish, und ich denke, Sie können ableiten, wofür VimCrypt~03!steht :-)

Um eine Datei zu aktualisieren, öffnen Sie sie, legen Sie sie explizit fest cm=blowfish2und schreiben Sie sie:

$ vim a
Need encryption key for "a"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [enter-key]

:set cm?
  cryptmethod=blowfish
:set cm=blowfish2
:w
"a" [blowfish2] 1L, 3C written
:q

$ less a
VimCrypt~03!O[P<D5>1<D1><DA>^Zis<88>q<AB><99><8C><A6><C4><FB>6
a lines 1-1/1 (END)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.