我正在创建使用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;
}