matlab table中的文字转string_用matlab打造属于自己的密码生成器

LEAD

感谢关注matlab爱好者公众号!如果公众号文章对您有帮助,别忘了点击分享和“在看”哦!若您对公众号有什么意见或建议,请在公众号中回复或在任意文章底部留言!

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

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

e3c511f387ccd9518649df3181e9bd89.png

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

程序界面源代码:

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爱好者公众号的一如既往地支持!!!

看完还想看 (点击下方文字直接访问)

大话matlabの通用对话框

图论碎碎念(2.3)

纯代码实现matlabのGUI界面搭建

matlab矩阵及其运算(七)

科研小助手推荐 第五期

图论碎碎念(2.2)

62ddf9921fac6e711a40066662dd2adb.png 06bfe5fc2def521d145bd60dfced74d1.png 5f36e1b08bb13ab4c4edc1eebfbc6b18.png 9cd7368661f784b3c952844199bbcb70.png 在看点这里 29deff67d7a641b440e8deae03f1661a.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值