-1
嗨我正在開發一個認證程序,用戶輸入他們的名字,這個名字被編碼(加密)並與授權密碼列表進行比較。如果名字被接受,用戶可以繼續,否則用戶有2次進一步的嘗試。你的程序將容納4個指定用戶,'硬編碼'到程序中。密碼加密程序
該名稱是通過將字母的字母移動11個位置來編碼的,所以'a'變成'i','b'變成'm'等等。所以名稱「Joe Bloggs」將被編碼爲「Uzp Mwzrrd」。編碼必須環繞,以便'z'後面的字母是'a',因此'z'編碼爲'k'。
下面是我有的代碼,但我正在努力與加密部分。我顯然不會要求任何人爲我做這件事,但我希望有人能給我一些關於如何去做這件事的提示。我真的很失落。
bool login() {
const string name;
string nameAttempt;
int attempts = 0;
cout << "enter name" << endl;
cin >> nameAttempt;
LogIn Authenticate(name, nameAttempt);
//cout << "nameAttempt: " << Authenticate.getNameAttempt() << endl;
//cout << "name: " << Authenticate.getName() << endl;
if (Authenticate.getName() == Authenticate.getNameAttempt()) {
return true;
}
else
while(Authenticate.getName() != Authenticate.getNameAttempt())
{
if(attempts++ ==2)//.. a loop for two more attempts
{
return false;
}
std::cout<<"Incorrect name. Try again"<< endl;
std::cout<< "" << endl;
std::cout << "Enter Name:"<< endl;
cin >>nameAttempt;
LogIn Authenticate(name, nameAttempt);
}
}
int main()
{
bool login();
bool loggedin = login();
if(loggedin) {
cout << "Password Correct" << endl;
}
if(!loggedin) {
cout << "Incorrect Password" << endl;
cout << "Program will now terminate" << endl;
system("pause");
return 0;
}
cout << "you are now free to enter lift" << endl;
system("pause");
return 0;
}
**爲什麼**你問一遍又一遍的問題,頻率爲1小時?在發佈之前,請到[SO幫助中心](http://stackoverflow.com/help)閱讀網站的政策! –
@πάνταῥεῖ實際上問題是提出不同的事情,雖然它們與同一個程序有關。 –
至少,請學習如何正確地發佈代碼*,並正確縮進*! – crashmstr