matlab中gui设计时如何隐藏密码,使密码显示为星号
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
3个回答
展开全部
设置edit控件的KeypressFcn属性,通过链接的回调函数,使得每输入一个字符后马上用*号代替。
参考
http://cn.mathworks.com/matlabcentral/fileexchange/23045-getauthentication
参考
http://cn.mathworks.com/matlabcentral/fileexchange/23045-getauthentication
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置edit控件的KeypressFcn属性,通过GetAuthentication的回调函数,使得每输入一个字符后马上用*号代替。
回调函数的代码:
function PasswordKeyPress(hObject,event)
hAuth = getappdata(0,'hAuth');
password = get(hAuth.ePassword,'UserData');
switch event.Key
case 'backspace'
password = password(1:end-1);
case 'return'
uiresume;
return;
otherwise
password = [password event.Character];
end
set(hAuth.ePassword,'UserData',password)
————————————————————————————————————
或者调用java实现密码框
function passwordfield
figure('menu','none','pos',[300 400 200 200]);
jPass = javax.swing.JPasswordField;
hPass = javacomponent(jPass,[10 10 100 20]);
hText = uicontrol('style','text','pos',[30 40 60 40]);
uicontrol('pos',[120 10 50 20],'string','OK','callback',{@check,hPass, hText});
function check(~, ~, hPass, hText)
pswd = hPass.text;
if strcmp(pswd, '123')
set(hText,'string','密码正确')
else
set(hText,'string','密码错误')
end
不过上边的密码是明文的,只要有人可以看到这个文件的内容就能知道密码,所以一般需要个加密方法来做加密(例如MD5,SHA之类的)
不过其实就算做了加密方法,如果可以修改上述代码,照样可以很轻松绕过密码
所以可能需要把文件转化为p文件或者用其他手段编译,才能更加实际的实现密码访问功能。
回调函数的代码:
function PasswordKeyPress(hObject,event)
hAuth = getappdata(0,'hAuth');
password = get(hAuth.ePassword,'UserData');
switch event.Key
case 'backspace'
password = password(1:end-1);
case 'return'
uiresume;
return;
otherwise
password = [password event.Character];
end
set(hAuth.ePassword,'UserData',password)
————————————————————————————————————
或者调用java实现密码框
function passwordfield
figure('menu','none','pos',[300 400 200 200]);
jPass = javax.swing.JPasswordField;
hPass = javacomponent(jPass,[10 10 100 20]);
hText = uicontrol('style','text','pos',[30 40 60 40]);
uicontrol('pos',[120 10 50 20],'string','OK','callback',{@check,hPass, hText});
function check(~, ~, hPass, hText)
pswd = hPass.text;
if strcmp(pswd, '123')
set(hText,'string','密码正确')
else
set(hText,'string','密码错误')
end
不过上边的密码是明文的,只要有人可以看到这个文件的内容就能知道密码,所以一般需要个加密方法来做加密(例如MD5,SHA之类的)
不过其实就算做了加密方法,如果可以修改上述代码,照样可以很轻松绕过密码
所以可能需要把文件转化为p文件或者用其他手段编译,才能更加实际的实现密码访问功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
editbox中应该可以设置输入的内容
追问
哪个属性可以设置呢,VB里是可以的,matlab里面就没有找到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询