這個問題比我的previous one更廣泛但相關。你會如何設計OO類來處理密碼系統及其密鑰
我想在Ruby中實現舊式的加密系統,如ADFGVX,VIC cipher等,主要是爲了好玩。這些密碼系統建立在更通用的系統之上,比如替代(像Caesar這樣的單一字母或像Vigenere這樣的多字母)和轉換(簡單,雙重)。我的問題是如何創建一個類的層次結構來處理密碼系統和密鑰。
喜歡的東西的V @ genere <換人< SimpleCipher或其他什麼東西?鑰匙怎麼樣?一些替代鍵在使用前會縮合(「ARABESQUE」變成「ARBESQU」),而大多數換位鍵不是這樣的。
現在,我有一個非常基本的design doc(我說基本)和我想想,我似乎無法找到這樣的令人滿意的方式,所以我來這裏是爲了你的智慧。
實施將是在Ruby,但除非設計必須使用多重繼承,它不是關於Ruby本身。在水銀
概念證明(尚未運行的,並可能是錯誤的)here的。
謝謝查理,我想我總是忘記混入。雖然這種情況下,我覺得有代碼可以共享,因爲這些舊系統的構建塊大部分是相同的(subst,transp,checkerboard等)。 – Keltia 2009-02-16 15:56:11