vi encryption:使用了什么算法?

时间:2012-12-23 11:03:50

标签: encryption vi

我使用加密文件来存储我的密码多年。它已在Sun Solaris 10上使用vi -x命令加密。我现在尝试在vi -xvi -x -cm=blowfish的Linux机器上打开该文件。可悲的是,文件完全搞砸了。我的猜测是在Solaris上使用了不同的加密算法。如何找出已使用的算法以及如何使用更新版本的vi打开文件?

我知道正确的密码,我知道加密文件中的几个单词。

P.S。:我再也无法访问solaris 10机器了

2 个答案:

答案 0 :(得分:0)

我认为vi使用crypt函数。这是一个很长的镜头,但如果你有权访问mcrypt,这应解码solaris crypt:

mcrypt  -a des --keymode pkdes --bare --noiv --decrypt filename

旧的unix风格地穴

mcrypt  -a  enigma  --keymode  scrypt --bare --decrypt filename

答案 1 :(得分:-1)

/ usr / bin / vi (也链接自/ usr / ucb / vi), / usr / xpg4 / bin / vi / usr Solaris 10上的/ xpg6 / bin / vi (以及所有早期版本的Solaris上的那些)都使用crypt(1)(Enigma变体)加密。

在Solaris 11及更高版本中, vi 实际上是 vim ,并使用vim支持的任何加密,这与crypt(1)不兼容。

"旧" vi可能仍然在Solaris 11上作为/ usr / sunos / bin / vi,但不再具有-x选项。

crypt(1)也不再出现在Solaris 11上。

但是人们可以很容易地查看源代码(google for usr / src / cmd / crypt / crypt.c)并修复发现编译好的任何版本。

正如之前的海报所示,mcrypt也可以完成这项工作。

后者可通过(至少)MacPorts("端口安装mcrypt"虽然运行mcrypt的微不足道的测试对我不起作用)可用于Mac,对于CentOS来说&#34 ; yum安装mcrypt",用于Ubuntu通过" apt install mcrypt&#34 ;; cygwin也有一个mcrypt包。

对于任何其他操作系统或发行版,您可以自己动手;我什么都没有。