密码问题(50分)

  • 主题发起人 主题发起人 向前2
  • 开始时间 开始时间

向前2

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样编写程序才能够使程序在以后能够修改密码?象什么<>‘***’,在以后想换密码岂不是要改程序?
怎样才能使不同的用户名登陆的人对数据库表有不同的操作权限?
 
1.是否有数据库,如果有的话就方便多了,可以把用户名和密码存入数据库,每次登陆的
时候通过数据进行判断;如果没有的话,可以写入本地文件或写注册表,不过安全机制不
高;
2.对用户可以建一个表,保存用户的操作权限限制,当用户登陆时,通过不同的用户名和
密码来获得用户权限,从而在以下的程序来限制对数据库的操作.
 
hehe,肯定要自己定义一个*.dat文件,将用户和密码信息加密后保存在里面。这样
若用户自己想更改密码就方便了。
 
赞成Kill Night的说法,在写入本地文件或写注册时,可以用加密变换来提高
密码的安全性。
 
将用户号、姓名、密码、权限放在数据库中,每次登录时取出与用户输入的核对进行
相应的权限控制。增加、修改密码只要修改数据库记录就行了,但存放密码的数据库
要加密码。
 
提醒你一下不要把密码放在paradox数据库中 因为paradox数据库有
通用密码.
 
究竟paradox的通用密码是多少???
 
g:Kill Night
 
paradox的通用密码是多少???
 
可采用ini文件来管理密码数据,更改时可以在ini中重新写入密码数据,也可直接修改ini文件来达到目的。
 
parodox的通用密码??? 我也要
 
试下
Try:jIGGAe
 
ini文件、数据库、注册表都是可以用的,关键是涉及到密码部分的数据要进行加密处理
(自己写加密算法即可)
 
给你一个程序,有关密码和根据权限访问系统的程序
两个表t_users 和T_rights,其中t_rights用于存放可以访问的菜单项另外,初始超级用户为root.
procedure TFormLogin.MenuDisable;
var
i : Integer;//主菜单计数器
j : Integer;//子菜单计数器
begin
for i := 0 to FormMain.MainMenu.Items.Count - 2do
begin
for j := 0 to FormMain.MainMenu.Items.Count - 1do
begin
FormMain.MainMenu.Items.Items[j].Enabled := False;
end;
end;
FormMain.UserLogin.Enabled := True;
FormMain.MSTClose.Enabled := True;
end;

// 用户能否用菜单
procedure TFormLogin.MenuEnable;
var
i : Integer;//主菜单计数器
j : Integer;//子菜单计数器
sRight : TStringList;
begin
sRight := TStringList.Create ;
if FormMain.LoginUserID = 'root' then
begin
for i := 0 to FormMain.MainMenu.Items.Count -1do
begin
for j := 0 to FormMain.MainMenu.Items.Count -1do
FormMain.MainMenu.Items.Items[j].Enabled := True;
end;
end
else
begin
QueryRights.Close;
QueryRights.SQL.Clear;
QueryRights.SQL.Add('select * from t_Rights where UserID = :UserID');
QueryRights.ParamByName('UserID').AsString := FormMain.LoginUserID;
QueryRights.Open;
while not QueryRights.eofdo
begin
sRight.Add(QueryRights.FieldByName('MenuName').AsString);
QueryRights.Next;
end;

for i := 0 to FormMain.MainMenu.Items.Count -1do
begin
for j := 0 to FormMain.MainMenu.Items.Count - 1do
begin
if sRight.IndexOf(FormMain.MainMenu.Items.Items[j].Name) >= 0 then
begin
FormMain.MainMenu.Items.Items[j].Enabled := True;
end;
end;
end;

FormMain.UserChangePsw.Enabled := True;
end;
end;
 
将密码加密后存放于文件中。顺便说一下,<>‘***’是很不安全的.
 
如果你是做应用系统的,建立一套自己的用户及权限管理机制是绝对必要的。
 
我同意kill night和龙丹的提议。
 
觉得ypy的方法简单可行。
 
再computerworld里有个dll来实现密码登陆的例子,自己去看看
 
可把密码和用户名及相应的权限标志放入一个数据库表中,有必要的话,可用一些算法
进行加密。至于‘***’不安全的问题,可通过中间变量存取用户名及密码,但屏幕上显示出
来的可设置为你所取的任意号码。
 
后退
顶部