2017-08-25 53 views
0

我有超过600万个包含base64编码字符串值的DB记录。
这些是随机13位数字的SHA-256输出。
当我计算SQL LIKE查询时,它超过300万。base64编码字符串中出现+字符的概率

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

你能证实这个计算吗?

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

(Base64编码包括64个字符)

Wolfram Alpha says, its 0.5

回答

2
  • 来表示的SHA-256校验和所需碱-64位数= 256/log2(64) = 42.6666... = 43
  • 概率一个字符的未正在+ = 63/64
  • 概率所有字符不是+ = (63/64)^43
  • 因此至少一个是+ = 1 - (63/64)^43 = (64^43 - 63^43)/(64^43)

所以你的答案几乎是正确的概率 - 刚刚就任的位数不正确。在合理的误差范围内,数值仍然是正确的。