前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用matlab打造属于自己的密码生成器

用matlab打造属于自己的密码生成器

作者头像
巴山学长
发布2019-07-15 16:24:42
1.2K0
发布2019-07-15 16:24:42
举报
文章被收录于专栏:巴山学长巴山学长

密码之于计算机,好比钥匙之于房门。有了钥匙才能开门入室,有了密码才能进行各种登录验证、文件解压等等。在之前的一期(你的QQ、微信账号安全吗?干货都在这里)中介绍了密码设置重要性,可能不少人设置密码时会不自觉地选择和自己相关地一些数字或文字信息以方便记忆,但对于现在大数据时代而言,这样设置是及其不安全的。

今天给大家介绍如何通过matlab打造属于的密码生成器,程序中所使用的函数主要包括randperm(产生随机整数序列)、uiputfile(文件保存对话框)等。本程序可以实现纯数字、纯字母、数字字母混合、数字字母符号混合等多种不同密码组合模式,能保存生成的密码和保存时间,再也不用担心忘记密码,程序界面如下:

程序原理简介:先定义数字、大小写、符号等字符集,由密码长度决定循环终止条件,每次循环中通过randperm函数来随机提取字符集中的字符最终生成密码串。保存密码则通过通过对话框函数uiputfile来实现。

程序界面源代码:

代码语言:javascript
复制
clc;clear;close all;
%% 创建界面
scr = get(groot,'ScreenSize');
pict=figure('position',[scr(3)/2-200,scr(4)/2-100, 500,250],'name','感谢关注matlab爱好者公众号','NumberTitle','off','menubar','none','toolbar','none',...
 'Resize','off');
text01=uicontrol(pict,'style','text','position',[0 235 500 10],'string','******************************************************************************************','FontSize',10,'ForegroundColor','b');
text02=uicontrol(pict,'style','text','position',[100 195 320 40],'string','专用密码生成器','FontSize',20,'ForegroundColor','r');
text03=uicontrol(pict,'style','text','position',[0 192 500 10],'string','******************************************************************************************','FontSize',10,'ForegroundColor','b');
text1 = uicontrol(pict,'style','text','position',[145 155 130 30],'string','密码长度:','FontSize',15,'ForegroundColor','b');
con1 = uicontrol(pict,'style','edit','position',[255 157 80 30],'string','20','FontSize',15,'ForegroundColor','r');
% 模式选择
text2 = uicontrol(pict,'style','text','position',[0 120 85 30],'string','密码模式:','FontSize',12,'ForegroundColor','b');
radiob1 = uicontrol(pict,'style','Radiobutton','position',[78 123 70 30],'string','仅数字','FontSize',12,'ForegroundColor','b');
set(radiob1,'Callback', 'set(radiob1,"value",1);set(radiob2,"value",0);set(radiob3,"value",0);set(radiob4,"value",0)');
radiob2 = uicontrol(pict,'style','Radiobutton','position',[148 123 70 30],'string','大小写','FontSize',12,'ForegroundColor','b');
set(radiob2,'Callback', 'set(radiob1,"value",0);set(radiob2,"value",1);set(radiob3,"value",0);set(radiob4,"value",0)');
radiob3 = uicontrol(pict,'style','Radiobutton','position',[218 123 120 30],'string','数字+大小写','FontSize',12,'ForegroundColor','b');
set(radiob3,'Callback', 'set(radiob1,"value",0);set(radiob2,"value",0);set(radiob3,"value",1);set(radiob4,"value",0)');
radiob4 = uicontrol(pict,'style','Radiobutton','position',[330 123 160 30],'string','数字+大小写+字符','FontSize',12,'ForegroundColor','b');
set(radiob4,'Callback', 'set(radiob1,"value",0),set(radiob2,"value",0),set(radiob3,"value",0);set(radiob4,"value",1)');
set(radiob1,"value",1);
text4=uicontrol(pict,'style','text','position',[0 105 500 20],'string','++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++','FontSize',10,'ForegroundColor','r');
text3 = uicontrol(pict,'style','text','position',[0 75 90 30],'string','当前密码:','FontSize',14,'ForegroundColor','r');
con2 = uicontrol(pict,'style','edit','position',[90 79 400 30],'string','','FontSize',12,'ForegroundColor','b');
text04=uicontrol(pict,'style','text','position',[0 65 500 20],'string','++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++','FontSize',10,'ForegroundColor','r');
%% 执行程序
uicontrol(pict,'style','pushbutton','position',[20 20 150 30],'string','生成密码','FontSize',14,'ForegroundColor','b','CallBack',...
 'generatePassword(con1,con2,radiob1,radiob2,radiob3,radiob4);');
uicontrol(pict,'style','pushbutton','position',[180 20 150 30],'string','保存密码','FontSize',14,'ForegroundColor','b','CallBack',...
 'savePassWord(con2);');
uicontrol(pict,'style','pushbutton','position',[340 20 150 30],'string','退出程序','FontSize',14,'ForegroundColor','r','CallBack','delete(pict);');

想要获取文中完整代码的小伙伴请直接在公众号对话中复“密码”、“PW”、“password”即可获取相关下载链接。如有问题或建议,请在文章底部留言,感谢大家对matlab爱好者公众号的一如既往地支持!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档