title: Given password validation code, how do i reverse engineer the password
body: <p>The C code that validates a password:</p>
  
  <pre><code>bool check(const char *password)
  {
      int val=1,pospassword=0,posletters;
      int primes [] =   {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101};
      char letters []= "abcdefghijklmnopqrstuvwxyz";
      do {
          posletters=0;
          do {
                  if (password[pospassword]==letteres[posletters])
                      val*=primes[posletters];
          } while(++posletters&lt;26);
      } while (password[++pospassword]!='\0');
      if (val==1066849907)
          return true;
      return false;
  }
  </code></pre>
  
  <p>Is there a way to reverse engineer the password from this code?</p>
  
  <p>EDIT: The factors for that number are: 2237 and 476911. This is the problem since they are not found in the first 26 primes.</p>