自制密码生成器1.0

密码位数:1~50;
有多种复杂度;
附上C++代码:

#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<windows.h>
#include<time.h>
#define _for(i,a,b) for(int i=(a);i<(b);i++)
using namespace std;
char password[51]="";
bool f[4];
int n;
void color(int a);
void gotoxy(int x,int y);
bool copytoplate(const char* pszData);
void Initialize();
void main_interface();
void generate();
void gotoxy(int x,int y){//位置函数COORD pos;pos.X=2*x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void color(int a){//颜色函数SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
bool copytoplate(const char* pszData){//复制字符串到剪贴板 const int nDataLen=strlen(pszData);if(::OpenClipboard(NULL)){::EmptyClipboard();HGLOBAL clipbuffer;char *buffer;clipbuffer = ::GlobalAlloc(GMEM_DDESHARE, nDataLen+1);buffer = (char *)::GlobalLock(clipbuffer);strcpy(buffer, pszData);::GlobalUnlock(clipbuffer);::SetClipboardData(CF_TEXT, clipbuffer);::CloseClipboard();return 1;}return 0;
}
void Initialize(){system("color f0");RECT rect; HWND hwnd=GetForegroundWindow();GetWindowRect(hwnd,&rect); MoveWindow(hwnd,0,0,rect.right-rect.left,rect.bottom-rect.top,TRUE);system("mode con cols=90 lines=30");
}
void enter(){Initialize();Sleep(500);gotoxy(17,14);printf("加载中…");main_interface();
}
void main_interface(){system("cls");gotoxy(0,0);printf("密码位数(1~50):");scanf("%d",&n);if(n<1||n>50){printf("\n超长!!!"); Sleep(1000);main_interface();}PO:system("cls");gotoxy(0,0);printf("密码位数(1~50):%d",n);printf("\n复杂度:");printf("\n      1.数字    ");if(f[0])printf("\t√"); else printf("\t\t");printf("\n      2.小写字母");if(f[1])printf("\t√"); else printf("\t\t");printf("\n      3.大写字母");if(f[2])printf("\t√"); else printf("\t\t");printf("\n      4.其他符号");if(f[3])printf("\t√\n"); else printf("\t\t\n");char k=getch();if(k=='1'){f[0]=!f[0];goto PO;}else if(k=='2'){f[1]=!f[1];goto PO;}else if(k=='3'){f[2]=!f[2];goto PO;}else if(k=='4'){f[3]=!f[3];goto PO;}else if(k==13)generate();else goto PO;printf("%s",password);if(copytoplate(password))printf("\n已拷贝到剪贴板!");system("pause");
}
void generate(){const char p[]="`1234567890~-=@#$%^&*()_+qwertyuiop[]QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:zxcvbnm,./ZXCVBNM<>?";int len=strlen(p);_for(i,0,n){srand((unsigned int)rand());int l=rand()%len;if(p[l]>='0'&&p[l]<='9'){if(f[0])password[i]=p[l];else i--;}else if(p[l]>='a'&&p[l]<='z'){if(f[1])password[i]=p[l];else i--;}else if(p[l]>='A'&&p[l]<='Z'){if(f[2])password[i]=p[l];else i--;}else{if(f[3])password[i]=p[l];else i--;}}
}
int main(){enter();return 0;
}

注意:
生成完后,会自动复制到剪贴板!

自制密码生成器1.0相关推荐

  1. pythongui登录界面密码显示_用python写一个带有gui界面的密码生成器

    需要用到的库: tkinter:构建gui界面 pyperclip:复制功能 random:生成随机数 string:处理字符串 代码: from tkinter import * import ra ...

  2. 用python实现一个密码生成程序_Python实现密码生成器

    Python实现密码生成器 环境准备 python3.6 pip install pyinstaller pip install gooey 代码部分 # encoding:utf8 import r ...

  3. 资源分享——Java实现的密码生成器

    一个密码生成器,为了应付各种网站的注册问题. 生成的密码位数默认为12位,字母.数字.符号 废话不多说,直接上图,上源码 打开密码记录可以看到保存过的账号和密码,文件保存在相对路径下. import ...

  4. 【简单的密码生成器】

    简单的密码生成器 用python写了一个简单的密码生成器.生成的密码包含数字.小写字母.大写字母.特殊字符.为了确保这四种类型的密码都存在,最后4次循环分别把四种类型的值插入到了密码的随机位置. 代码 ...

  5. 强密码生成器的设计与实现

    目 录 摘 要 I Abstract II 1绪论 1 1.1选题背景及意义 1 1.2国内外研究现状 1 1.3研究主要内容 2 1.3.1题目要求 2 1.3.2本设计主要硬件功能部分 2 1.3 ...

  6. python -简易密码生成器

    # -*- coding: utf-8 -*- # @Time : 18-9-12 上午8:50 # @Author : xmskf # @Email : 84887867@qq.com # @Fil ...

  7. js密码生成器小工具

    此小工具是我突发奇想想的一个密码加密算法, 通过对一个小数的幂指数的不断迭代运算, 可以取得完全打乱字符排列的效果, 用户只要略微更改这密码初值,密码模板,计算指数中的任何一个, 所运算的结果都千差万 ...

  8. c语言中定义密码为英文字母,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

  9. 一个简单的密码生成器

    废话不多说,直接上代码: while True: #设置循环,这样两次以上使用不需要退出重开. import random print('******欢迎来到密码生成器!*****') lowerca ...

最新文章

  1. 想要,但很难得到就随缘
  2. Android 屏幕录制GIF脚本
  3. VC 2010的MFC函数,CMFCVisualManager::GetInstance()可能导致内存泄露
  4. 中文分词之HMM模型详解
  5. 华为鸿蒙系统HarmonyOS手机,华为鸿蒙系统2.0适配哪些机型
  6. python生成列表_python列表生成器与生成器
  7. vue ueditor 生成word文档_word目录制作技巧:快速生成文档总目录和章节下子目录...
  8. Javascript的数组对象
  9. Mad Libs 游戏
  10. javaIO流-IO基础知识指南
  11. 个人记录 Repast S network与触发器引发的bug
  12. MTK功能机RF射频参数计算与配置
  13. 2021SC@SDUSC Zxing开源代码(九)Wifi 二维码结果处理
  14. Cell Genomics封面|北大吴华君课题组利用空间多组学技术解析肿瘤内空间异质性...
  15. 《转》《七年之前与七年之后》
  16. 听说你还不了解微前端?[收藏=学会]
  17. java项目设计与思路
  18. svn多分支合并主干冲突 svn Working copy and merge source not ready for reintegration
  19. PostMan——使用方法
  20. 来自Bitly的USA.gov数据

热门文章

  1. Windows7 64位软件资源
  2. 风车网陈晓峰回忆录:我的两个月倒闭史
  3. 小程序快速生成朋友圈海报分享图
  4. Vue:v-charts图表设置指标别名
  5. PPT怎么用100张照片做照片墙?
  6. 在 Debian 11 Bullseye 上安装 Proxmox VE 7国内镜像源
  7. php+羊,PHP解决羊生羊的问题。
  8. C#应用案例之打字母游戏
  9. 多网聚合路由系统打通“融媒体”5G丝绸之路
  10. docker镜像构建详细说明