将指针传递给哈希密码是否安全?

时间:2014-02-24 15:53:32

标签: c++ encryption aes

我正在创建使用AES加密我的文件的应用程序。我的问题:是否可以拦截密码,如果可能,如何保护我的密码?我担心这些指针,因为了解内存块以及解密密码的方式会暴露我的密码和数据。

string xorfunc(string A, string B)
{
 for(int i=0,j=0;i<A.length();i++,j++)
  {
   if(j==B.length())
   {
      j=0; 
   }
   A[i]=A[i]^B[j];
  }
  return A; 
}

void AESfunction(string *hashed,string *hash)
{
    string password=string(xorfunc(*hashed,*hash)); //restore password
    //Do other AES stuff.
}

int main()
{
string password;
cin>>password;
string *hash=new string(MD5(password));
string *hashed=new string(xorfunc(password,*hash)); //hashed is a pointer to a password
                                             //xor password hash
                                             //keeping password as a not plain string 

password.clear();                             //clearing string to not keeping 
                                              //it in a memory
AESfunction(hashed,hash);
return 0;  
}

0 个答案:

没有答案