自制密码生成器1.0
自制密码生成器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相关推荐
- pythongui登录界面密码显示_用python写一个带有gui界面的密码生成器
需要用到的库: tkinter:构建gui界面 pyperclip:复制功能 random:生成随机数 string:处理字符串 代码: from tkinter import * import ra ...
- 用python实现一个密码生成程序_Python实现密码生成器
Python实现密码生成器 环境准备 python3.6 pip install pyinstaller pip install gooey 代码部分 # encoding:utf8 import r ...
- 资源分享——Java实现的密码生成器
一个密码生成器,为了应付各种网站的注册问题. 生成的密码位数默认为12位,字母.数字.符号 废话不多说,直接上图,上源码 打开密码记录可以看到保存过的账号和密码,文件保存在相对路径下. import ...
- 【简单的密码生成器】
简单的密码生成器 用python写了一个简单的密码生成器.生成的密码包含数字.小写字母.大写字母.特殊字符.为了确保这四种类型的密码都存在,最后4次循环分别把四种类型的值插入到了密码的随机位置. 代码 ...
- 强密码生成器的设计与实现
目 录 摘 要 I Abstract II 1绪论 1 1.1选题背景及意义 1 1.2国内外研究现状 1 1.3研究主要内容 2 1.3.1题目要求 2 1.3.2本设计主要硬件功能部分 2 1.3 ...
- python -简易密码生成器
# -*- coding: utf-8 -*- # @Time : 18-9-12 上午8:50 # @Author : xmskf # @Email : 84887867@qq.com # @Fil ...
- js密码生成器小工具
此小工具是我突发奇想想的一个密码加密算法, 通过对一个小数的幂指数的不断迭代运算, 可以取得完全打乱字符排列的效果, 用户只要略微更改这密码初值,密码模板,计算指数中的任何一个, 所运算的结果都千差万 ...
- c语言中定义密码为英文字母,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...
请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...
- 一个简单的密码生成器
废话不多说,直接上代码: while True: #设置循环,这样两次以上使用不需要退出重开. import random print('******欢迎来到密码生成器!*****') lowerca ...
最新文章
- 想要,但很难得到就随缘
- Android 屏幕录制GIF脚本
- VC 2010的MFC函数,CMFCVisualManager::GetInstance()可能导致内存泄露
- 中文分词之HMM模型详解
- 华为鸿蒙系统HarmonyOS手机,华为鸿蒙系统2.0适配哪些机型
- python生成列表_python列表生成器与生成器
- vue ueditor 生成word文档_word目录制作技巧:快速生成文档总目录和章节下子目录...
- Javascript的数组对象
- Mad Libs 游戏
- javaIO流-IO基础知识指南
- 个人记录 Repast S network与触发器引发的bug
- MTK功能机RF射频参数计算与配置
- 2021SC@SDUSC Zxing开源代码(九)Wifi 二维码结果处理
- Cell Genomics封面|北大吴华君课题组利用空间多组学技术解析肿瘤内空间异质性...
- 《转》《七年之前与七年之后》
- 听说你还不了解微前端?[收藏=学会]
- java项目设计与思路
- svn多分支合并主干冲突 svn Working copy and merge source not ready for reintegration
- PostMan——使用方法
- 来自Bitly的USA.gov数据