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);
    }

  • 相关阅读:
    vue 设置初始值 为null 进行文字长度判断
    js ajax传参 定义的参数和传的参数不一样
    js 删除字符串前几位字符,和删除最后一个字符
    js splice 删除数组 相邻的数据满足条件未被删掉
    js 将对象增加新键值对
    js 将数组添加key
    js 删除掉数组中的 ' '
    js 如何删除数组中指定对象及其值
    接口
    分支结构
  • 原文地址:https://www.cnblogs.com/cxun/p/1711939.html
Copyright © 2011-2022 走看看