基于C++編寫一個密碼系統(tǒng)
更新時間:2023年11月27日 10:41:29 作者:君莫胖
這篇文章主要為大家詳細介紹了如何基于C++編寫一個簡單的密碼系統(tǒng),文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
1、功能
1.能夠讀取密碼
想要讀取密碼,我們就要利用代碼,來判斷它是否有保存過密碼
// 讀取以前保存的密碼 std::string savedPassword = readPassword(); // 如果沒有保存的密碼,要求設置新密碼 if (savedPassword.empty()) { std::cout << "歡迎首次使用,請設置新密碼:"; std::cin >> newPassword; } else { // 獲取當前密碼
讀取密碼之后,我們要進行輸入密碼
if (savedPassword.empty()) { std::cout << "歡迎首次使用,請設置新密碼:"; std::cin >> newPassword; } else { // 獲取當前密碼 std::cout << "請輸入當前密碼:"; std::cin >> currentPassword; // 驗證當前密碼 if (currentPassword != savedPassword) { std::cout << "密碼錯誤,無法進行修改!" << std::endl; return 0; } // 獲取新密碼 std::cout << "請輸入新密碼:"; std::cin >> newPassword; }
2.能夠保存密碼
輸入了之后我們要能夠檢查密碼
bool checkPassword(const std::string& password) { // 檢查密碼是否符合要求,這里只作簡單示例 if (password.length() < 6) { return false; } // 還可以進行其他復雜的密碼檢查規(guī)則 return true; }
// 驗證新密碼 if (!checkPassword(newPassword)) { std::cout << "新密碼不符合要求,修改失?。? << std::endl; return 0; }
檢查完密碼我們就要進行保存
savePassword(newPassword);
void savePassword(const std::string& password) { std::ofstream file("password.txt"); if (file.is_open()) { file << password; file.close(); std::cout << "密碼保存成功!" << std::endl; } else { std::cout << "密碼保存失??!" << std::endl; } }
3.能夠更改密碼
當我們想換密碼的時候,也要有這個功能
// 獲取當前密碼 std::cout << "請輸入當前密碼:"; std::cin >> currentPassword; // 驗證當前密碼 if (currentPassword != savedPassword) { std::cout << "密碼錯誤,無法進行修改!" << std::endl; return 0; } // 獲取新密碼 std::cout << "請輸入新密碼:"; std::cin >> newPassword;
2、完整代碼
#include<iostream> #include<string> #include<fstream> #include <iostream> #include <fstream> #include <string> bool checkPassword(const std::string& password) { // 檢查密碼是否符合要求,這里只作簡單示例 if (password.length() < 6) { return false; } // 還可以進行其他復雜的密碼檢查規(guī)則 return true; } void savePassword(const std::string& password) { std::ofstream file("password.txt"); if (file.is_open()) { file << password; file.close(); std::cout << "密碼保存成功!" << std::endl; } else { std::cout << "密碼保存失??!" << std::endl; } } std::string readPassword() { std::string password; std::ifstream file("password.txt"); if (file.is_open()) { file >> password; file.close(); } return password; } using namespace std; using namespace std; #define MAX 50 int main() { std::string currentPassword; std::string newPassword; // 讀取以前保存的密碼 std::string savedPassword = readPassword(); // 如果沒有保存的密碼,要求設置新密碼 if (savedPassword.empty()) { std::cout << "歡迎首次使用,請設置新密碼:"; std::cin >> newPassword; } else { // 獲取當前密碼 std::cout << "請輸入當前密碼:"; std::cin >> currentPassword; // 驗證當前密碼 if (currentPassword != savedPassword) { std::cout << "密碼錯誤,無法進行修改!" << std::endl; return 0; } // 獲取新密碼 std::cout << "請輸入新密碼:"; std::cin >> newPassword; } // 驗證新密碼 if (!checkPassword(newPassword)) { std::cout << "新密碼不符合要求,修改失敗!" << std::endl; return 0; } // 保存密碼 savePassword(newPassword); // 修改密碼成功 std::cout << "密碼修改成功!" << std::endl; }
以上就是基于C++編寫一個密碼系統(tǒng)的詳細內容,更多關于C++密碼系統(tǒng)的資料請關注腳本之家其它相關文章!
相關文章
Android App仿微信界面切換時Tab圖標變色效果的制作方法
這篇文章主要介紹了Android App仿微信界面切換時Tab圖標變色效果的制作方法,重點講解了圖標的繪制技巧,需要的朋友可以參考下2016-04-04C++11中std::declval的實現(xiàn)機制淺析
這篇文章主要給大家介紹了關于C++11中std::declval實現(xiàn)機制的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07C語言實現(xiàn)交換排序算法(冒泡,快速排序)的示例代碼
這篇文章主要為大家詳細介紹了如何利用C語言實現(xiàn)交換排序算法(冒泡排序、快速排序),文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-07-07