2012-12-23 61 views
2

我用一個加密文件來存儲我的密碼多年。它已在Sun Solaris 10上使用vi -x命令進行了加密。我現在試圖在vi -xvi -x -cm=blowfish兩個文件夾上打開該文件。可悲的是,文件完全搞砸了。我的猜測是在Solaris上使用了不同的加密算法。我怎樣才能找出哪個算法已被使用,以及如何使用更新版本的vi打開文件?vi加密:已經使用了什麼算法?

我知道正確的密碼,我知道加密文件中的幾個單詞。

P.S:我沒有到Solaris 10計算機的任何訪問了

+1

在http://www.opensolaris.org上瀏覽Solaris源代碼可能會有一些「運氣」。我做了一點,它看起來在內部使用ex代碼的vi使用libcrypt,它是popen的[crypt](http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/ src/cmd/crypt/crypt.c)命令。這反過來似乎並不使用任何「衆所周知的」算法。被警告強硬,我可能完全不在這裏。 –

+0

加密文件的第一個字符是什麼?例如,vi的最新版本顯示VimCrypt –

回答

0

我覺得VI使用地穴功能。這是一個長鏡頭,但如果你有機會到mcrypt的,這應該解碼的Solaris隱窩:

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

舊的Unix風格的墓穴

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

在/ usr/bin中/六(也掛/ usr/ucb/vi),/usr/xpg4/bin/vi/usr/xpg6/bin/vi在Solaris 10上(以及所有早期版本的Solaris上的那些)都使用crypt (1)(Enigma變體)加密。

在Solaris 11及更高版本,實際上是VIM,並採用任何加密是Vim支持,這是不符合隱窩兼容的版本,(1)。

「舊」vi仍可能在Solaris 11上爲/ usr/sunos/bin/vi,但不再具有-x選項。

隱窩(1)也是在Solaris 11.不再

但可以很容易地蹭源(谷歌usr/src目錄/ CMD /隱窩/ crypt.c)和修復了一個發現對任何版本編譯好。

正如之前的海報所示,mcrypt也可以完成這項工作。

後者可以通過(至少)MacPorts(「port install mcrypt」,儘管對我來說運行mcrypt的簡單測試並不適用於我)用於Mac,CentOS通過「yum install mcrypt」 「安裝mcrypt」; cygwin也有一個mcrypt包。

對於任何其他操作系統或發行版,您都是您自己的;我沒有一切。

相關問題