关于此工具
香农熵计算器衡量文本的信息量。它会对你输入的确切字符构建频率映射,计算每个符号的概率 p = count / length,并求解香农公式 H = −Σ p·log2(p),单位为每字符比特数。乘以长度即得到以比特为单位的总信息量。它还会报告不同符号的数量以及理论最大熵 log2(distinct)——仅当每个符号出现概率相等时,实际熵才会逼近该值。
这个实际(观测)熵不同于密码强度估算,因此本工具会同时计算两者。在强度一侧,它采用字符集池模型:检测存在哪些字符类别——小写(26)、大写(26)、数字(10)、常见符号(32)、空格(1)以及其他(100)——将池大小 P 相加,并报告池熵 = length · log2(P) 比特。定性标签遵循常见分档:低于 28 比特为非常弱,28–35 为弱,36–59 为一般,60–127 为强,128 及以上为非常强。
所有对数均使用 log2(x) = Math.log(x) / Math.LN2,且每次计算都在浏览器本地运行——你输入的任何内容都不会被存储或传输。请注意,这两个数字回答的是不同问题:观测熵告诉你在其自身字符分布下这个特定字符串有多不可预测,而池熵估算的是假设每个位置都从检测到的字符池中均匀抽取时,该字符串被暴力破解的难度。
常见问题
两个熵数值之间有什么区别?
每字符比特是你确切文本的观测香农熵——在字符串自身的符号频率下,下一个字符有多不可预测。池比特是暴力破解强度估算:length × log2(池大小),假设每个位置都从检测到的字符类别中均匀抽取。
字符池大小是如何确定的?
工具会检测出现了哪些类别并将其大小相加:小写 26、大写 26、数字 10、常见 ASCII 符号 32、空格 1,以及任何其他字符 100。像“aB3”这样的密码使用了小写 + 大写 + 数字,池大小为 62。
强度标签是什么意思?
它们来自基于池的比特数:低于 28 比特为非常弱,28–35 为弱,36–59 为一般,60–127 为强,128 或以上为非常强。这些是抵抗暴力破解的常见经验阈值,并不能保证抵御字典攻击。
我的输入会被存储或发送到任何地方吗?
不会。频率映射、熵和池估算都在你的浏览器中用纯 JavaScript 计算。你输入的任何内容都不会被保存或传输,因此你可以放心测试真实密码或敏感文本。