java - 如何在不进行字母频率分析的情况下破解凯撒密码

标签 java encryption cryptography

我已经在Java中实现了字母频率分析来破解凯撒密码,但它只适用于大段落的密文,字符串越小,移位的概率和频率就越弱,那么还有其他破解机制吗?请提供一些帮助会很有用。

最佳答案

我想到的第一个技术:

  1. 将字典(或 War and Peace 可能)加载到 HashMap 中。
  2. 将文本的字母旋转 25 次(可能的移位次数),每次检查您在 HashMap 中找到的所获得的单词(移位字母后)有多少个匹配项。
  3. map 中找到的单词最多的那个可能是密码的正确移位值。

我确信还有更好、更有效的方法。这是我在没有搜索互联网的情况下想到的。

关于java - 如何在不进行字母频率分析的情况下破解凯撒密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26071473/

相关文章:

java - 为什么 LinkedList 在 java 中没有 initialCapacity?

Java、OpenOffice、创建获取文档作为 jsp 响应作为 pdf

java - JSON : Array & Compare

c - OpenSSL文件加密麻烦

c# - Aspnet_regiis 会加密存储在外部配置文件中的连接字符串信息吗?

javascript - 使用 AES 在 Crypto.js 和 .NET 密码学中进行不同的加密

.net - 利用 ASP.NET machineKey 加密我自己的数据

java - entityManager.getTransaction().rollback() 分离实体?

c++ - 使用 Crypto++ 将文件的 CRC 计算为数值

ssl - WSSE 认证悖论