Dlaczego vim narzeka na słabe krypto podczas używania blowfish2?

9

Otworzyłem dokument z 2015 roku, który zapisałem za pomocą wbudowanego crypto w vim ( :X). W tamtym czasie oszczędzano blowfish.

Wiadomość, którą otrzymałem teraz (2017), brzmiała:

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

To dziwne, pomyślałem, ale założyłem, że ma to związek z pewną wadą, a po przeczytaniu metod kryptograficznych ja set cryptomethod=blowfish2. Działa to po otwarciu, pokazując kryptometodę jako blowfish 2. Problem polega na tym, że wciąż otrzymuję komunikat o używaniu słabego szyfrowania! Dlaczego? Czy są pozostałości starego podpisu kryptograficznego blowfish1? Czy muszę wyeksportować tekst i zapisać go ponownie, aby go naprawić?

oligofren
źródło
2
Spróbuj ponownie go zaszyfrować przy pomocy blowfish2 (to działa, tylko jeśli wszystkie twoje wersje vima są wystarczająco nowe)
Christian Brabandt

Odpowiedzi:

10

Metoda szyfrowania jest przechowywana w samym pliku i nie jest automatycznie aktualizowana.

Możesz to zobaczyć za pomocą less:

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

VimCrypt~01!jest cm=zip, VimCrypt~02!jest cm=blowfishi myślę, że można wywnioskować, co VimCrypt~03!oznacza :-)

Aby zaktualizować plik, otwórz go, jawnie ustaw cm=blowfish2i zapisz:

$ 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)
Martin Tournoij
źródło