我使用加密文件来存储我的密码多年。它已在Sun Solaris 10上使用vi -x
命令加密。我现在尝试在vi -x
和vi -x -cm=blowfish
的Linux机器上打开该文件。可悲的是,文件完全搞砸了。我的猜测是在Solaris上使用了不同的加密算法。如何找出已使用的算法以及如何使用更新版本的vi打开文件?
我知道正确的密码,我知道加密文件中的几个单词。
P.S。:我再也无法访问solaris 10机器了
答案 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包。
对于任何其他操作系统或发行版,您可以自己动手;我什么都没有。