DasShelmer

C++ Password increment by alphabet

Apr 12th, 2021
972
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. char* convertToWord(size_t value, const char* alphabet, size_t alphabetLen) {
  2.     if (value < alphabetLen) {
  3.         char* word = (char*)calloc(2, 1);
  4.         word[0] = alphabet[value];
  5.         return word;
  6.     }
  7.  
  8.     size_t wordLen = 0;
  9.     for (size_t v = value; v > 0; wordLen++) {
  10.         v /= alphabetLen;
  11.     }
  12.  
  13.     char* word = (char*)calloc(wordLen+1, 1);
  14.  
  15.     size_t i = 0;
  16.     for (; value >= alphabetLen; i++) {
  17.         word[i] = alphabet[value % alphabetLen];
  18.         value /= alphabetLen;
  19.     }
  20.     word[i] = alphabet[(value % (alphabetLen + 1)) - 1];
  21.     return word;
  22. }
Advertisement
Add Comment
Please, Sign In to add comment