c++ - C/C++如何判断一个字符串是否随机

标签 c++ c encryption random statistics

我正在研究一些加密女巫,创建一个加密的字符串,比如 t7AZChkiBA?t7AZDxknCE34F14OuwuXiIcGBIKqSGya03CY9cf9iUSPuCb7owPUzmfTxoBsDzE533S82dvKqm7KmOkREtknHH30z6rLHAHg29COKjX9A6uZxh4fAlr

长度不固定。我如何才能确定这个字符串是否是随机的并且没有任何意义?
我没有字典。我试图找到一些统计相关性,但我不知道该怎么做。

最佳答案

我认为这个网站有一个任意字符串的香农熵在线计算器、一个公式和一个很好的解释会有所帮助:

http://www.shannonentropy.netmark.pl/

从该计算器中,您正在寻找的是“度量熵”,它等于香农熵除以字符串长度,这是字符串随机性的度量。它可以取 0 到 1 之间的值,其中 1 表示该字符串是随机均匀分布的。

关于c++ - C/C++如何判断一个字符串是否随机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30342641/

相关文章:

c++ - Qt5 找不到平台插件 Mac OS X

php - 将 CRC 算法从 C 翻译成 PHP

php - 在不使用 mysql 服务器资源的情况下加密数据的最佳方法是什么?使用 CFB 模式的 mcrypt 是使用 php 的最佳方式吗?

c - 荨麻双鱼 CBC

C++ 确保绝对没有标准输入缓冲

php - 隐藏 'connect.php' 文件密码的最常用方法是什么?

c++ - c/c++ 集成和编译 - 未解析的外部符号,即使已定义

c++ - 验证 whitepsace 分隔的整数 c++

c++ - Qt QFile::size() 总是返回 0

c - 将字符串拆分为标记,忽略 ""中包含的子字符串