随机产生长度不少于6位密码

2023-10-29

//随机产生长度不少于6位 包含大写、小写、数字、特殊字符至少三种的密码
string randpass(int n)
{
	string res="";
	if(n<6)
	{	
		cout<<"长度不能少于6位"<<endl;
		return res;
	}
	int count=0;
	int lownum=0,highnum=0,spnum=0,num=0;//分别存小写、大写、特殊字符、数字个数
	srand(time(NULL));
	while(!(lownum&&highnum&&(spnum||num)||(lownum||highnum)&&num&&spnum))
	{
		num=rand()%(n-2);
		lownum=rand()%(n-num-1);
	    highnum=rand()%(n-lownum-num);
		spnum=n-num-highnum-lownum;
	}
	int select = -1;
	int i=0;
	while(i<n)
	{
		select = rand()%4;
		switch(select)
		{
		case 0:
			if(num<=0)break;
			res+=rand()%10+'0';
			num--;
			i++;
				break;
		case 1:
			if(lownum<=0)break;
			res+=rand()%26+'a';
			lownum--;
			i++;
				break;
		case 2:
			if(highnum<=0)break;
			res+=rand()%26+'A';
			highnum--;
			i++;
				break;
		case 3:
			if(spnum<=0)break;
			res+=rand()%('/'-'('+1)+'(';
			spnum--;
			i++;
				break;
		}
	}
	
	cout<<res<<endl;

	return res;
}

生成不少于6位的随机密码,生成的随机密码必须至少包含大写字母、小写字母、数字、特殊字符四种中任意三种。

参考了:https://blog.csdn.net/liwei1205/article/details/78071861

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

随机产生长度不少于6位密码 的相关文章

  • OpenCV(三)——图像分割(二)

    目录 4 边缘检测 4 1 图像梯度的概念 4 2 模板卷积和梯度图的概念 4 3 梯度算子
  • KylinOS-Server定制制作属于自己的ISO镜像文件

    1 准备 镜像文件 Kylin Server 10 SP1 Release Build20 20210518 x86 64 iso 然后安装在服务器上 用来定制ISO的服务器 根据自己的需求选择安装 我这里选择的是GUI安装 2 安装制作I
  • 前端ps基本操作

    在还原设计时 我们需要使用 photoshop打开sd格式的设计 作为的工程师 我们不要太多的ps技巧 只需要了 一些简单的基本操作即可 1 alt 滚轮缩放放图片 2 空格 鼠标左健拖动图片 3 shift m切换选取工具 使用鼠标左键选
  • ApplicationListener--- Spring源码从入门到精通(二十九)

    上篇文章说了bean对象创建之前调用的两个方法 BeanDefinitionRegistryPostProcessor Spring源码从入门到精通 二十八 这篇文章主要介绍spring监听事件源码及实例解析 ApplicationList
  • 怎么在Windows下使用Makefile文件

    推荐阅读 virtio net 实现机制 一 图文并茂 浅析linux内核网络协议栈 linux bridge 深度解析linux内核模块编译makefile 前言 如果熟悉在Linux开发的话 肯定知道Makefile文件的用处 它给我们
  • react组件的三种定义方法、准确理解类组件函数组件以及使用方法

    文章目录 前言 类组件 通过function定义 通过class定义 函数组件 虚拟Dom分类 如何创建虚拟DOM jsx React createElement 前言 根据官方描述react组件分为函数组件和类组件 是否使用jsx是通过以
  • Hive 使用SQL统计出每个用户的累积访问次数

    我们有如下的用户访问数据 userId visitDate visitCount u01 2017 1 21 5 u02 2017 1 23 6 u03 2017 1 22 8 u04 2017 1 20 3 u01 2017 1 23 6
  • 阿里云服务器搭建hadoop2.7伪分布式环境

    零 写在前面 服务器 centos7 6 jdk1 8 hadoop2 7 这个其实没有什么影响 都可以参照这个教程进行搭建 一 防火墙设置 停止防火墙 systemctl stop firewalld service 禁止防火墙开机自启动
  • 外部中断0

    实验现象 下载程序后 操作 K3 按键使 D1 状态取反 接线说明 具体接线图可见开发攻略对应实验的 实验现象 章节 1 单片机 gt LED 交通灯模块 P20 gt D1 2 单片机 gt 独立按键模块 P32 gt K3 注意事项 i
  • 网桥、vlan、源目MAC地址的链路层处理

    一 链路层 在报文接收方向上 网卡驱动把接收到的数据按照其对应的链路层协议 如以太网 组装成报文 然后把它上交给链路层 接口是netif receive skb 至此网卡驱动的任务就结束了 报文交给链路层处理 在报文发送方向上 网卡驱动受链
  • 常用计算机维修方法有哪些,计算机常见硬件故障的诊断及其处理分析

    摘 要 计算机已经成为我们生活中不可缺少的一部分 但是使用过程中会遇到很多的硬件故障 导致计算机无法正常使用 这就要求我们对故障进行正确的诊断 判断问题的所在 进行处理 使计算机能够正常运转 关键词 计算机 硬件故障 诊断 处理 中图分类号
  • vue如何使用腾讯地图JavaScript API GL进行打点标记

    1 创建一个TMap js文件 export function TMap0 return new Promise function resolve reject window init function resolve window TMa
  • space quota exceeded for tablespace(表空间不足)

    space quota exceeded for tablespace 表空间不足 解决之道 方法一 测试成功 SQL gt alter user 用户 quota unlimited on 表空间名 User altered 方法二 SQ
  • 区块链七大应用场景

    一 应用场景 信息共享 这应该是区块链最简单的应用场景 就是信息互通有无 1 传统的信息共享的痛点 要么是统一由一个中心进行信息发布和分发 要么是彼此之间定时批量对账 典型的每天一次 对于有时效性要求的信息共享 难以达到实时共享 信息共享的
  • AndroidStudio apk安装失败总结

    失败 1 INSTALL FAILED DUPLICATE PERMISSION 1 1 具体信息 1 2 原因分析 1 3 解决方法 2 INSTALL FAILED USER RESTRICTED 2 1 具体信息 2 2 原因分析 3
  • USB3.2-Physical Layer---Link Initialization and Training

    这里写目录标题 Training sequences gen1 training sequence rule gen2 training sequence rule gen2 block Alignment Lane Polarity In
  • 使用for循环输出1-10之间的整数

    for i in range 1 11 print i
  • BS架构和CS架构的区别

    介绍 BS Browser Server 浏览器 服务器模式 web应用 可以实现跨平台 客户端零维护 但是个性化能力低 响应速度较慢 CS Client Server 客户端 服务器模式 桌面级应用 响应速度快 安全性强 个性化能力强 响
  • CSP 202305-1 重复局面

    题目背景 国际象棋在对局时 同一局面连续或间断出现3次或3次以上 可由任意一方提出和棋 问题描述 国际象棋每一个局面可以用大小为 8 8 的字符数组来表示 其中每一位对应棋盘上的一个格子 六种棋子王 后 车 象 马 兵分别用字母 k q r

随机推荐

  • 杭电ACM2005题(第几天?)------C语言

    第几天 Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 127309 Accepted Submis
  • 职能管理,最关键的是找到衡量价值的指标

    最近一位同事过来和我讨论职能管理的经验 说实话 我是不敢妄谈经验的 自己也没有取得如何的成就 盲目的建议 会出现相反的效果 不过我们的交流还是很有收获的 因为我们发现了很多共同的认知 并且这些认知在小范围内还是得到认可的 第一 定位职能的价
  • c语言0加到10的结果,如何编写一个C语言程序,让计算机自动出四则运算计算题,要求自动出0-10之间的四则运算题,并批改结果?...

    优质解答 少年 写好了 给你参考一下 还可以更复杂 include include include define N 10 int Test int num 0 int answer 0 int result 0 int m 0 int n
  • 【状态估计】卡尔曼滤波器、扩展卡尔曼滤波器、双卡尔曼滤波器和平方根卡尔曼滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文包括 1 标准卡尔曼滤波器 2 扩展卡
  • 操作系统基础

    进程间的通信的几种方式 匿名管道 pipe 管道是一种半双工的通信方式 数据只能单向流动 而且只能在具有亲缘关系的进程间使用 进程的亲缘关系通常是指父子进程关系 有名管道通信 半双工的通信方式 但是它允许无亲缘关系进程间的通信 消息队列通信
  • Window根据端口号杀进程

    Window根据端口号杀进程 一 打开cmd命令窗口 输入命令 根据端口号查找对应的进程号 netstat ano 列出所有进程 例 杀死占用端口1099的进程 1 netstat ano findstr 1099 2 列出端口号为1099
  • 联合体的特点及其大小的计算

    上篇博客 笔者详细的介绍了联合的的使用方法 所以 笔者在这篇文章打算进行 联合体的特点及其大小的计算的讲述 联合体的特点 联合体的成员是共用一块内存空间的 这样一个联合体变量的大小 至少是最大的成员的大小 因为联合体至少得有能力保存最大的那
  • QT框架总结

    一 QT介绍 1 什么是QT 跨平台C 图形用户界面应用程序开发框架 1 跨平台 支持各种的操作系统 windows Linux MAC 2 编程语言 C 面向对象编程 类 3 应用程序开发框架 图形用户界面 GUI应用程序 非GUI的应用
  • oracle nvl sign,oracle decode函数和 sign函数

    流程控制函数 DECODE decode 函数简介 主要作用 将查询结果翻译成其他值 即以其他形式表现出来 以下举例说明 使用方法 Select decode columnname 值1 翻译值1 值2 翻译值2 值n 翻译值n 缺省值 F
  • 分享一个基于vue的环形菜单组件

    vue quick menu是一个应用于移动端的快速导航组件 它拥有炫酷的展开和收起时的动画效果 它支持自定义菜单的显示位置 菜单的数量 颜色等属性 demo 安装 通过NPM安装 npm install vue quick menu sa
  • 解决不能启动redhat 9的图形界面的办法

    故障现象 我才装了几天的linux就进不去linux的图形界面了 我用的是redhat9 希望大虾们帮帮我 在这里说声谢谢了 我把出错的提示给出来 我可以进去命令行界面 当我打入startx命令的时候 画面就变得很花 我以前是可以进的 然后
  • 出学校干了 5 年外包,已经废了

    如果不是女朋友和我提分手 我估计现在还没醒悟 本科大专 17年通过校招进入某软件公司做测试 干了接近5年的功能 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了五年的点点点 每天的重复操作
  • KiCad 5 版本体验记录

    文章目录 KiCad 5 0版本 改动内容记录 BUG记录 KiCad 5 0版本 KiCad在今年7月份的时候更新了5 0版本 作为大版本的更新 相比上一个版本4 0 7来说还是有蛮多变动的 具体的变化可以自己体验或是查看官方的更新说明
  • 文件和流操作相关基础函数

    1 wsprintf LPTSTR lpOut LPCTSTR lpFmt 其他可选参数 wsprintf函数能够将一组字符序列按lpFmt参数指定的格式转换 然后保存在lpOut参数指定的字符缓冲区中等待输出 如果要用wprintf输出U
  • 【Java】有这样一个数组,元素是{68,27,95,88,171,996,51,210}.求出该数组中满足要求的元素和。 要求是:求和的元素个位和十位都不能是7,并且只能是偶数

    public class Test03 public static void main String args int arr 68 27 95 88 171 996 51 210 int sum 0 for int x 0 x lt ar
  • 通过Socket通信理解TCP机制

    通过Socket通信理解TCP 1 什么是TCP协议 TCP是一种面向连接的 可靠的 基于字节流的传输层通信协议 即客户端和服务器之间在交换数据之前会先建立一个TCP连接 才能相互传输数据 并且提供超时重发 丢弃重复数据 检验数据 流量控制
  • 图片服务器项目测试用例

    单元测试 这里只对imageDAO层进行了单元测试 public class ImageDAOTest Test public void queryCountByMd5 ImageDAO imageDAO new ImageDAO int
  • 机械加工行业MES系统项目实施8大步骤

    搭建好的MES系统要应用到车间制造中 服务商应对MES的推进过程做总体的规划 通过数字化车间的建设 解决企业车间信息化系统与生产流程的融合问题 机械加工企业根据 总体规划 分步实施 以点带面 整体推进 的原则 首先在某个车间生产线上进行试点
  • android 实现发送短信功能

    离职五天左右 学习了一些基础理论并用于实践 也算是学到了点东西 1 实现短信的发送功能 在学习的视频里面发现了这个发送短信的功能实现 就好奇写了一个小demo 先看一下页面的效果吧 很简单的布局 两个输入框 一个按钮 看一下具体的实现效果
  • 随机产生长度不少于6位密码

    随机产生长度不少于6位 包含大写 小写 数字 特殊字符至少三种的密码 string randpass int n string res if n lt 6 cout lt lt 长度不能少于6位 lt