1. 程式人生 > >暴力破解密碼 - C++ 遞迴方法實現

暴力破解密碼 - C++ 遞迴方法實現

問題描述:
    暴力破解密碼
    假設有一個 4 位字母密碼,每位密碼是 a~e 之間的小寫字母
    你能否編寫一段程式碼,來暴力破解該密碼?(可重複排序)
 

#include <iostream>
#include<string>

using std::string;
using namespace std;

void BreakPassword( string Words, int PasswordLen, string result)
{
    if (result.length() == PasswordLen)
    {
        //C++中string型別不能直接輸出,需加頭問題#include<string>,不能用#include<string.h>
        cout << result << "    ";
        return;
    }

    for (int i = 0; i < Words.length(); ++i)
    {
        string newResult = result;
        newResult.insert( newResult.end(), Words[i] );
        BreakPassword(Words, PasswordLen, newResult);
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    int passwordLen = 4;
    string words("abcde");
    string result = "";
    
    BreakPassword(words, passwordLen, result);

    return 0;
}