news 2026/8/21 6:04:42

从random随机数看验证码重复数字

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从random随机数看验证码重复数字

本文分享自天翼云开发者社区《从random随机数看验证码重复数字》.作者:王****淋

## 推导:

1. 有6个不同数字

- (0个重复数字: 1+1+1+1+1+1):

$$p(6) = C_{10}^6 * 6! \div 10^6$$

2. 有5个不同数字

- (某个数字重复了2次: 1+1+1+1+2):

$$p(5) = (\frac{C_{10}^5 * C_5^1}{2!*1!*1!*1!*1!} ) * 6! \div 10^6$$

$$ = (\frac{C_{10}^5 * C_5^1}{2!} ) * 6! \div 10^6$$

3. 有4个不同数字

- (某个数字重复了3次: 1+1+1+3,或某2个数字各重复2次: 1+1+2+2)。(省略$1!$):

$$p(4) = (\frac{C_{10}^4 * C_4^1}{3!} + \frac{C_{10}^4 * C_4^2}{2!*2!}) * 6! \div 10^6$$

4. 有3个不同数字

- (某个数字重复了4次: 1+1+4,或某个数字重复3次+某数字重复2次: 1+3+2, 或3个数字哥重复2次: 2+2+2):

$$p(3) = (\frac{C_{10}^3 * C_3^1}{4!} + \frac{C_{10}^3 * C_3^1 * C_2^1}{3!*2!} +\frac{C_{10}^3 * C_3^3}{2!*2!*2!}) * 6! \div 10^6$$

5. 有2个不同数字

- (某个数字重复了5次: 1+5,或某个数字重复4次+某数字重复2次: 4+2, 或2个数字哥重复3次: 3+3): (省略$1!$):

$$p(2) = (\frac{C_{10}^2 * C_2^1}{5!} + \frac{C_{10}^2 * C_2^1}{4!*2!} + \frac{C_{10}^2 * C_2^2}{3!*3!}) * 6! \div 10^6$$

6. 有1个不同数字(6个相同的重复数字):

$$p(1) = \frac{C_{10}^1}{6!} * 6! \div 10^6$$

## 蒙特卡洛

```py

import random

# 6位验证码, 相同数字的概率: 蒙特卡洛

def mtkr(count:int=10, is_show:bool=True, debug:bool = False):

ans = [0 for i in range(6)]

for i in range(count):

array_i = [random.randint(0, 9) for i in range(6)]

n = len(list(set(array_i)))

if debug:

print(n, ": ", array_i)

ans[6-n] += 1

# end_for

if is_show:

print('-' * 30)

print('蒙特卡洛: count:', count, "; \n模拟结果: ")

for i in range(6):

print("unique", 6-i, ": ", ans[i]/count)

return [i/count for i in ans]

ans = mtkr(100000, is_show=True, debug=False)

print(ans)

res_plot(ans)

# 结果:

#模拟结果:

# unique 6 : 0.15148

# unique 5 : 0.45396

# unique 4 : 0.32748

# unique 3 : 0.0643

# unique 2 : 0.00278 u

# nique 1 : 0.0

```

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 21:39:20

Caddy自动化HTTPS部署实战:零配置证书管理的终极指南

还在为SSL证书的申请、续期和配置而头疼吗?Caddy服务器凭借其革命性的自动化HTTPS功能,彻底改变了Web服务部署的游戏规则。作为一款现代化的Web服务器,Caddy在HTTPS配置方面实现了真正的"零配置"体验,让开发者能够专注于…

作者头像 李华
网站建设 2026/8/21 17:11:38

网安从业者的 100 个核心知识点,全掌握 = 涨薪稳了!你达标没?

100条必背网络安全知识点,你都掌握了吗? 1988年,一款名为“莫里斯蠕虫”的程序悄然传播,它最初是康奈尔大学研究员的实验项目,目的是测量互联网规模。可谁也没想到,这个程序失控后感染了数千台电脑&#x…

作者头像 李华
网站建设 2026/8/21 4:04:43

22、计算机安全与组策略管理全解析

计算机安全与组策略管理全解析 在当今数字化时代,计算机安全和有效管理是至关重要的。本文将详细介绍计算机安全策略的创建、编辑、应用、回滚以及部署到多台计算机的方法,同时还会阐述如何使用组策略来管理用户和计算机,包括特殊文件夹的集中管理和脚本管理。 计算机安全…

作者头像 李华
网站建设 2026/8/21 6:05:26

26、运行 DHCP 客户端和服务器

运行 DHCP 客户端和服务器 1. DHCP 故障转移配置 DHCP 故障转移配置简单直接,无需集群或高级配置,步骤如下: 1. 安装并配置两台 DHCP 服务器,需位于同一物理网络。 2. 在其中一台服务器上创建 DHCPv4 作用域,作用域是可通过租约分配给客户端的 IPv4 或 IPv6 地址池。 …

作者头像 李华
网站建设 2026/8/21 11:00:17

33、DNS 优化全攻略

DNS 优化全攻略 1. 创建子域 在 DNS 管理中,创建子域是常见操作。以下是创建子域的具体步骤: 1. 打开 DNS 管理器控制台,展开要操作的服务器的“正向查找区域”文件夹。 2. 长按或右键单击父域条目,然后点击“新建域”。 3. 输入新域的名称,然后点击“确定”。例如,…

作者头像 李华
网站建设 2026/8/21 21:41:41

34、优化 DNS 与管理网络打印机和打印服务

优化 DNS 与管理网络打印机和打印服务 优化 DNS 在网络环境中,DNS(域名系统)的优化至关重要,它能确保网络的高效运行和稳定访问。以下是一些常见的 DNS 优化操作及步骤。 限制区域传输 若要将区域传输限制到指定服务器,可按以下步骤操作: 1. 选中“允许区域传输”复选…

作者头像 李华