网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

密码学中的密码熵

更新时间:2026年03月27日   作者:spoto   标签(Tag):

密码熵是衡量密码强度的指标,也就是给定的密码有多强。它反映了密码在破解或暴力攻击方面的防御能力。通过了解所使用的字符集(包括小写字母、大写字母、数字、符号等)以及所生成的密码的长度,就可以计算出密码熵的值。密码熵以每个字符对应的比特数来表示。

计算所有可能的密码数量:

在本文中,你将通过具体的例子来了解如何计算给定字符集所能生成的密码总数。

示例1:

假设某个信息系统有以下密码规则:用户创建的密码必须包含至少5个字符,最多7个字符。这些字符可以由小写字母a-z、大写字母A-Z以及数字0-9组成。那么,请问可以创建出多少种可能的密码呢?

解决方案——

Total characters = 26(a-z) + 26(A-Z) + 10(0-9) = 62
Passwords must be between 5 characters to 7 characters
=> P = \Sigma^{7}_{k=5} 62^k\\ = 62^5 + 62^6 + 62^7\\ = 3.5 * 10^{12}   possible passwords.

示例2: 

考虑这样一个信息系统的密码策略:用户创建的密码必须包含至少5个字符,最多7个字符。这些字符可以从小写字母a-z、大写字母A-Z以及数字0-9中选取。请计算出所有可能的密码数量。至少使用一个数字来表示这些都可以从它中创造出来。

解决方案——

Total characters = 26(a-z) + 26(A-Z) + 10(0-9) = 62
Passwords which can be formed without using any digit = 62 - 10 (0-9) = 52
Passwords must be between 5 characters to 7 characters with atleast one digit
=> P =\Sigma^{7}_{k=5} 62^k - 
\Sigma_{k=5}^{7} 52^k\\= 3.5 * 10^{12} - 1.048 * 10^12
\\= 2.45 * 10^{12}  
 possible passwords.

示例3:

现在假设攻击者使用的机器具有每秒破解250万个密码的能力,而平均而言,只有当它能够成功测试出总密码数量的75%时,才能成功破解密码。那么,请计算出攻击者需要多长时间才能破解示例2中的密码。

解决方案——

Time required = Total number of possible passwords * rate * accuracy
= 2.45 * 10^{12} * \frac{1}{250000} * \frac{75}{100}\\ = 8.67   days

密码熵的计算:

在这里,你将了解到如何计算密码的熵值。密码熵值的计算方法如下:

Password Entropy = log_{2}  (number of characters in character set) * length of the password

示例4:

计算该密码的熵值。geeksfg123这些字符是从示例1中使用的字符集中选取出来的。

解决方案——

Number of characters in character set = 62
Length of password = 10 (geeksfg123)
Password Entropy = \log_{2} (62) *10\\ = 5.95 * 10\\ = 59.5   bits of entropy per character
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料