我需要一种算法(任何一种编程语言)来通过爬坡算法来测试生命力,以打破密码挑战的密码。该算法应测试随机解密(无空格)是英文文本(也为尚未完成的单词给出分数!)或只是随机字符序列的可能性。
我用自己开发的几种算法进行了尝试,但是效果不是很好。
我的研究:
一个谜M4加密项目(http://www.bytereef.org/m4_project.html)也使用了我也想使用的Sinkov统计信息。
我发现的唯一一件事是«quebra -pedra»的文档,这是一个Java框架,其中包含我正在搜索的Sinkov对数权重分析。
http://www.google.com/m?client=ms-android-samsung&source=android-home#q=Quebra-pedra+framework+java
但是我还没有找到该框架的下载位置。我也没有找到Sinkov测试的任何实现或描述。
我很高兴有任何提示。谢谢。
最佳答案
我不了解Sinkov统计信息,但是自然语言处理中的语言模型可以完全满足您的要求,并根据与英语的相似程度对文本评分。
我在这里写了一个简单的字符bigram,应该很容易理解。
https://github.com/rrenaud/Gibberish-Detector