2013-06-12 41 views
2

我試圖找出一些東西。我有一個遺留系統,我沒有使用它。我們以這種方式使用東西有商業原因。制定出加密算法

系統中的某些字段被我最終想要替換的一箇中間件加密。我無法替換系統的這部分,因爲我無法正確解密這些值。

例如,我有包含單詞的字段:

這是加密和變成:

^ADFJBLFOHLOJFNHHKFJLHFJNPCJFJCPFBAPEKDKM

詞語

惠靈頓靴

成爲

^KOKFDEJPAAPFJHPOIGOICOAHKFLNFHMIOJNHAAHF

我可以看到未加密的數據,我可以看到生成的加密數據,但我想找到用什麼算法將字段值轉換爲加密版本。這樣做的主要原因是我要求大量增加包含加密數據的字段的數量,但目前我不能這樣做,因爲我不能替換現有的加密機制,因爲我不知道用於加密的內容數據。

系統中只有太多的數據要通過並加載每條記錄並記錄未加密的數據,因此我可以創建一個新的加密機制。

如果我知道現有數據是如何加密的,我可以使用相同的方法來加密我的新字段。系統只對某些字段進行加密,我的系統擴展需要使用相同的方法加密其他字段。

我該怎麼做?甚至有可能找出數據是如何加密的以及使用了什麼方法?

+1

你確定它是加密,而不僅僅是一個解析錯誤? – djechlin

+2

恐怕爲了找出使用什麼加密,你必須挖掘代碼... – alfasin

+0

只是一個想法 - ^被用來表示異或。而且兩者的長度都是一樣的。也許這只是一個簡單的XOR加密與通行短語...只是一個猜測......此外,可能會有所幫助:http://security.stackexchange.com/questions/3989/how-to-determine-what-type -of-encoding-encryption-has-been-used – Gray

回答

5

它是SHA1,編譯爲A爲0,B爲1,C爲2等。例如,「wellington boot」示例的SHA1哈希值爲「aea5349f00f ...」,顯然是「KOKFDEJPAAP」。 ..「

因此,您可以使用SHA1並執行相同的翻譯以繼續該模式。

要檢查此問題,請嘗試使用短語「測試短語」 - 其中的SHA1是「ab8f37d89b1154ba18c78a7e4b8eef2acdfec1eb」,它將在您的系統中變爲「KLIPDHNIJL ...」。

+1

已確認。 SHA1(「ferret」)= 03591B ...或ADFJBL ...在編碼方案 – zindorsky

+0

這正是我想要的。現在我可以重新創建相同的加密方法。我知道SHA1不是一種可逆的加密機制,我所需要的只是能夠加密和比較一次存儲的數據。 –