我做了个登陆界面,但给财务用的,我希望就是有人打开SQL=SEVER数据库看到的也不是真实密码,请问高手如何实现对密码的改变存储,和翻译读取,最好有实例!

解决方案 »

  1.   

    密码在SQL Server中是以binary形式进行128位加密后存储的,你不必自己加密。
      

  2.   

    可是,在修改密码的时候我用
    Query_czy['mm']:=Edit_GLMM.Text;
    QYERY_CZY.POST
    保存不进去,说是invalid variant type or size for field 'mm'
    是怎么回事,MM我用的就是BINARY类型啊
      

  3.   

    Query_czy.fieldbyname('mm').value:=Edit_GLMM.Text;
    //应该是这样吧
      

  4.   

    query_czy.fieldbyname('mm').asstring:=trim(edit_glmm.text);
    还有你可以写一个字符串的加密函数,将保存到数据库的密码进行加密后保存,加密数据你可以自己写也可以到网上搜,不是很难,比如加密数据为jm(var s:string):string;
    将保存语句改为:
      query_czy.fieldbyname('mm').asstring:=jm(trim(edit_glmm.text));
    就可以了。
    进行密码判断时可以执行如下:
     if  query_czy.fieldbyname('mm').asstring=jm(trim(edit_glmm.text)) then
     begin
     ...
     end;呵呵,完毕。
      

  5.   

    可以将密码进行MD5算法处理后,放入数据库中。每次登录后将用户输入的密码经过MD5算法处理,再与数据库的相比较,相等通过否则不通过。md5算法网上到处都是,基本上无法倒推出处理前的结果。