base64编码字符串中出现+字符的概率

时间:2017-08-25 16:24:21

标签: math base64 combinations probability

我有超过600万条包含base64编码字符串值的数据库记录 这些是随机13位数字的SHA-256输出 当我用SQL LIKE查询计算时,它超过300万。

我想知道这是否正常 所以我试着计算出+字符出现的概率。

你能证实这个计算吗?

(64^44 - 63^44) / 64^44

(Base64编码由64个字符组成)

Wolfram Alpha says, its 0.5

1 个答案:

答案 0 :(得分:2)

  • 表示SHA-256校验和= 256 / log2(64) = 42.6666... = 43
  • 所需的base-64位数
  • 一个字符不是+ = 63/64
  • 的可能性
  • 所有字符的概率不是+ = (63/64)^43
  • 因此至少的概率为+ = 1 - (63/64)^43 = (64^43 - 63^43) / (64^43)

所以你的回答几乎是正确的 - 只是假设错误的位数。在合理的误差范围内,数值仍然是正确的。