我在做系统时,设置登录密码,我想对密码加密,使他在数据库里看不到密码或是看不到正确的密码
应该怎么做?请各位指教指教!

解决方案 »

  1.   

    如果对保密程度不是要求很高的话,直接取字符的ASCII码也可以啊,解密也方便
      

  2.   

    随便列个方程,然后在密码输入的时候应该改方程
    比如y=ax+b,x为原密码,y为加密的密码,不过你要记住这个方程,要不就写个解密软件
      

  3.   

    理论我是知道的,就是实际该怎么写就不会了,比如去ASCII码的函数,异或的函数这些应该怎么写呀?
      

  4.   

    建议使用一个不可逆的加密算法,比如MD5,这样不但看不到正确密码,而且也不容易计算出真实的密码至于加密算法,去FAQ看看吧,有现成的;
      

  5.   

    取ASCII码:ord
    还原:chr
    对字符操作
      

  6.   

    如果是一般的看不见密码而已
    就不需要那么复杂的MD5或者DES等加密算法了
    你就直接写个简单点的
    每位取ASCII
    然后加一个常数密码存如数据库的时候就加密后再存你也不用写解密算法
    当它登录的时候把输入的密码同样的算法加密
    和数据库里信息注册时候加密的是否一致就可以了
      

  7.   

    pwdencrypt加密
    pwdcompare解密
      

  8.   

    采用简单加密后,取Hash值,建议是SHA-1的,MD5已经不安全了不使用可逆算法的http://lysoft.7u7.net
      

  9.   

    如果不是特别重要的数据,没有人会花精力去解你密码的,建议把加密和解密的算法封装在DLL里面,通过调用DLL的函数来进行对数据库进行加密,登陆取出来的再调用DLL解密函数来进行解密,我个人认为这个是比较安全的做法,我一直这样做!
      

  10.   

    function StringDecrypt(mStr: string; mKey: string='password'): string;
    var
      I, J: Integer;
    begin
      J := 1;
      Result := '';
    //  mStr := DisplayToString(mStr);
      for I := 1 to Length(mStr) do
      begin
        Result := Result + Char(Ord(mStr[I]) xor Ord(mKey[J]));
        if J + 1 <= Length(mKey) then
          Inc(J)
        else
          J := 1;
      end;
    end; { StringDecrypt }