关于数据库的保密问题。 (50分)

  • 主题发起人 主题发起人 tempname
  • 开始时间 开始时间
T

tempname

Unregistered / Unconfirmed
GUEST, unregistred user!
现在一般的系统都有系统用户这么一个模块。
我把所有的系统用户与密码都放在一个数据库里面了( Database Desktop)。
现在想起来这样很不安全,要是他们打开数据库的话,那一切的一切都算不上这秘密了。
后来我想把密码那个字段改为bytes或者binary。不知道是否行得通。望各位高手指点一二。
谢谢。
 
不行,除非你自己加密字段中的数据。
 
如果可以设置字段和表的权限就行,否则只能加密字段
 
你还得让用户输入那些KeyPress可以触发的字符呢,
自己把输入内容和数据库内的密码经过简单的你自己的算法运算以下,人家看
了这内容也没用啊
 
看你是单机版还是C/S还是三层的了
单机版建议连存密码的文件也加密
C/S版的话用字段加密就可以了
三层最好办,普通加密就可以了
 
同意 Luyear

主要看 你的数据库的 强壮 度.
 
我用的是Delphi( Database Desktop),要是用bytes或binary不是打开了看不见吗?
我想用一个最简单,最有效的办法。请各位指教。给个方案。:)
 
当然可以,为什么不行?只是单纯采用bytes或binary还是不够安全,最好能加密一下。
 
这是我自己做的一个加密方法。
存到数据库中,看到的象乱码,
登录验证可以 if mygm(edit1.text)=adologin.fieldbyname('password') then..


function mygm(sour:string):string;
var
old:pchar;
by1,by2:byte;
i,l:integer;
begin
l:=length(sour);
if l<=16 then
begin
for i:=1 to 16-l do
sour:=sour+'$';

old:=pchar(sour);
l:=length(old);
for i:=0 to l-1 do
begin
by1:=ord(old);
if i=l-1 then
by2:=ord(old[0])
else
by2:=ord(old[i+1]);
by1:=by1 xor by2;
if by1=0 then
by1:=13;
old:=chr(by1);
end;
Result:=string(old);
end
else
begin
result:='more';
showmessage('密码不能超过16位!');
end;
end;
 
后退
顶部