Pourquoi Vim se plaint-il de la faible cryptographie lors de l'utilisation de Blowfish2?


9

J'ai ouvert un document de 2015 que j'ai enregistré en utilisant le crypto intégré dans vim ( :X). C'était une sauvegarde blowfishà l'époque.

Le message que j'ai reçu maintenant (2017) était le suivant:

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

C'était bizarre, pensais-je, mais j'ai supposé que cela avait à voir avec un défaut, et après avoir lu les méthodes de cryptage, je set cryptomethod=blowfish2. Cela fonctionne après l'avoir ouvert, montrant cryptomethod comme Blowfish 2. Le problème est que je reçois toujours le message sur l'utilisation d'un cryptage faible! Pourquoi? Existe-t-il des vestiges de l'ancienne signature cryptographique blowfish1? Dois-je exporter le texte et le réenregistrer afin de le corriger?


2
Essayez de le crypter à nouveau avec blowfish2 (cela ne fonctionne que si toutes vos versions de vim sont suffisamment nouvelles)
Christian Brabandt

Réponses:


10

La méthode de cryptage est stockée dans le fichier lui-même et n'est pas automatiquement mise à jour.

Vous pouvez le voir avec less:

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

VimCrypt~01!est cm=zip, VimCrypt~02!est cm=blowfish, et je pense que vous pouvez en déduire ce que VimCrypt~03!signifie :-)

Pour mettre à niveau un fichier, ouvrez-le, définissez explicitement cm=blowfish2et écrivez-le:

$ 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)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.