我正在嘗試開發一個程序,該程序對使用Vigenere密碼編碼的消息進行編碼,解碼和打破加密。我陷入困境的地方是破壞信息的加密(沒有密鑰)。我對如何去做這件事有一個想法,但我不知道如何編寫它。我的想法如下:Java中的Vigenere/Polyalphabetic Cipher Decoder/Decrypter/Breaker
該程序將系統地生成潛在的密鑰,長度從1開始到26結尾。密鑰將包含英文字母的字母,並且不區分大小寫。對於每個密鑰長度(從1-26的任何位置),密鑰將填入字母'a',然後程序會檢查密鑰是否正確(我有另一種方法)。如果他們的鑰匙是不正確的,那麼最後位置的字母會旋轉到字母表中的下一個字母。一旦最後一封信經歷了所有26個可能的位置,倒數第二個字母將被旋轉,然後最後一個字母和倒數第二個字母會相應地旋轉,等等等等(一直回到第一個字母[潛在]鍵的字母)。每次生成一個新密鑰時,都會用一個單獨的方法檢查[潛在]密鑰,並在找到正確的密鑰時停止該方法。該密鑰創建進程會去是這樣的:
[starting with keys that are only 1 letter long]
a
b
c
...
x
y
z
[now the potential key length becomes two]
aa
ab
ac
ad
...
zw
zx
zy
zz
[eventually the potential key length becomes 26]
aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaab
aaaaaaaaaaaaaaaaaaaaaaaaac
aaaaaaaaaaaaaaaaaaaaaaaaad
...
zzzzzzzzzzzzzzzzzzzzzzzzzw
zzzzzzzzzzzzzzzzzzzzzzzzzx
zzzzzzzzzzzzzzzzzzzzzzzzzy
zzzzzzzzzzzzzzzzzzzzzzzzzz
(希望你可以看到有模式)
如果有人或知道如何做到這一點的代碼,或者可以幫助指導通過滿足這是必要的步驟,這將是非常感謝。
謝謝!
我們不會編寫代碼前你。發佈一些具體的問題,並向我們展示一些迄今爲止編寫的代碼。 – MrSmith42
首先,爲什麼這個標籤遞歸(看起來更像是簡單的迭代),第二個強制使用vigenere密碼的蠻力可能不是最好的方法。 – fvu
到目前爲止我沒有任何東西,就像我說的,任何解釋/幫助都會提供幫助。 :) – iphonedev7