2

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

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

PS:我再也无法使用 solaris 10 机器了

4

2 回答 2

0

我认为 vi 使用 crypt 功能。这是一个很长的镜头,但如果您可以访问 mcrypt,这应该可以解码 solaris crypt:

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

旧的 unix 风格的地穴

mcrypt  -a  enigma  --keymode  scrypt --bare --decrypt filename
于 2013-02-08T23:43:51.697 回答
0

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

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

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

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

但是人们可以轻松地搜索源代码(google for usr/src/cmd/crypt/crypt.c)并修复任何可以编译的版本。

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

后者可通过(至少)MacPorts 用于 Mac(“port install mcrypt”,尽管运行 mcrypt 的简单测试对我不起作用),对于 CentOS,通过“yum install mcrypt”,对于 Ubuntu,通过“apt install mcrypt” "; cygwin 也有一个 mcrypt 包。

对于任何其他操作系统或发行版,您只能靠自己;我没有一切。

于 2017-08-24T20:11:44.060 回答