zoukankan      html  css  js  c++  java
  • 穷举字符串的一种算法

    前段时间想暴力破解一个KEY,希望穷举所有字符串,于是写出了一段穷举字符串的代码,供大家参考。算法思想参考了10进制数加1的操作,代码如下:

    #define CHAR_HEAD 'a'  // 0x20
    #define CHAR_TAIL 'z'  // 0x7E

    // 字符串加1
    void StrAdd1(char* pStr)
    {
        char szStr[1024] = {0};
        strcpy(szStr, pStr);
        int nP = strlen(szStr)-1;
        if (szStr[nP] == CHAR_TAIL)
        {
            szStr[nP] = CHAR_HEAD;
            int i = 1;
            if (nP-i < 0)
            {
                char *pTmp = new char[nP+3];
                memset(pTmp, 0, nP+3);
                pTmp[0] = CHAR_HEAD;
                strcat(pTmp, szStr);
                strcpy(szStr, pTmp);
                delete[] pTmp;
                strcpy(pStr, szStr);
                return;
            }
            while (szStr[nP-i] == CHAR_TAIL)
            {
                szStr[nP-i] = CHAR_HEAD;
                i++;
                if (nP-i < 0)
                {
                    char *pTmp = new char[nP+3];
                    memset(pTmp, 0, nP+3);
                    pTmp[0] = CHAR_HEAD;
                    strcat(pTmp, szStr);
                    strcpy(szStr, pTmp);
                    delete[] pTmp;
                    strcpy(pStr, szStr);
                    return;
                }
            }
            szStr[nP-i]++;
            strcpy(pStr, szStr);
            return;
        }
        szStr[nP]++;
        strcpy(pStr, szStr);
    }

  • 相关阅读:
    如何判断点击是否在区域内
    WCF SSL(应用篇-Message)-02
    WCF SSL(证书篇)-01
    获取浏览客户的地址信息
    ASP.Net Controls 用法大全
    C#实现倒油算法
    C#操作Excel(读取)
    C#提取字符串中的数字字符串
    对比MFC和Winform及WPF
    C#图片水印代码整理
  • 原文地址:https://www.cnblogs.com/cxun/p/1711939.html
Copyright © 2011-2022 走看看