登陆的用户名与密码放在sql服务器上,当远程上网客户运行程序时,怎么处理提交的用户名与密码,服务怎么返回信息确定该用户是否合法,急用啊?

解决方案 »

  1.   

    把提交的用户名与密码经过加密后提交到SQL 服务器上,每次比较的时候再从数据库中读取,进行比较
      

  2.   

    我觉得应该把用户名和密码作为查询条件,到sql服务器上提取数据,如果有记录返回就说明用户合法,反之...   这样更安全
    select * from user_table where name=*** and password=***
      

  3.   

    把提交的用户名与密码经过加密后提交到SQL 服务器上,
    在sql server上做一个存储过程,返回true or false.
      

  4.   

    我比较同意cjfzy(他山之石,可以攻玉。)的办法。
      

  5.   

    没做过加密程序.
    不知大家能不能提供一点资料或简单说明一下怎么做?
    如user='aaa',pwd='bbb'
      

  6.   

    你可以这么加密:
     s:='要加密的内容';
     for i:=0 to length(s) do
     begin
        for j:=1 to 8 do
        begin
        inc(s[i]);
        end;
     end;
     s值即是加密后的内容
      

  7.   

    顺便给你一段我写的生成序列号的程序,可生成12位,包括大小写字母和数字,写的很乱,但要解密可能也没那么容易:
     var
    s:string;
    i,j,k,l:integer; s:='要生成序列号的内容';
     l:=length(s);
       if l<12 then
       begin
       s:='这里的内容可以随便加'+s;
       l:=length(s);
        k:=0;
        while s[13]>'1' do
      begin
      dec(s[13]);
      k:=k+1;
      end;
        for j:=1 to k do  // to z--->k
          begin
            inc(s[13]);
          end;
       for i:=1 to l do
         begin      for j:=1 to k do
           dec(s[i]);
         end;
       end;
     for i:=1 to l do//
       begin    //all begin    k:=0;
          while s[i]>'1' do
      begin
      dec(s[i]);
      k:=k+1;
      end;
        for j:=1 to k do  // to z--->k
          begin
            inc(s[i]);
          end;    for j:=1 to (k+i)*l do   //s[i]+(n+i)*l
          begin
           inc(s[i]);
          end;
          
     if s[i]>'z' then //between 1 to z begin
       begin       while s[i]>'z' do
           begin
          for j:=1 to 74 do
           begin
            dec(s[i]);
           end;
          end;
       end
       else if s[i]<'1' then
       begin
         while s[i]<'1' do
           begin
         for j:=1 to 74 do
           begin
            inc(s[i]);
           end;
          end;
       end;         //between 1 to z end   if (s[i]>'9') and (s[i]<'A') then //between can see begin
        begin
            if s[i]>='==' then
             begin
               for j:=1 to 26  do
                 begin
                  inc(s[i]);
                 end;
             end
             else if s[i]<'==' then
             begin
              for j:=1 to 9 do
                begin
                 dec(s[i]);
                end;
             end;
        end
        else if  (s[i]>'Z') and (s[i]<'a') then
         begin
          if s[i]>='^' then
             begin
               for j:=1 to 26  do
                 begin
                  inc(s[i]);
                 end;
             end
             else if s[i]<'^' then
             begin
              for j:=1 to 26 do
                begin
                 dec(s[i]);
                end;
             end;
         end;       //between  can see end
       //all end
       s:=copy(s,1,12);
       s即为生成的序列号
      

  8.   

    简单的话,就有用EnCodeBase64加吧。