title: Remote password generation
body: <p>We have a system deployed in remote locations where internet access isn't guaranteed, a part of the system requires a password, however users may forget their password and ask for recovery options.   </p>
  
  <p>I'm trying to create a tool which would allow me to generate recovery passwords, the passwords will need to be unique to a system (the systems can provide a unique numeric identifier) and time sensitive.  </p>
  
  <p>Ideally, the system will work this way: User calls support and provides his system identifier. Support inputs his identifier in the recovery tool and get back a password that is valid during this hour/day. When the user inputs the generated password back in his system, the system would allow access.  </p>
  
  <p>I suppose the remote system will have to generate the password in the same method, to compare with the password provided by support, which may provide a security risk, some reverse-engineering proofing would be needed for the code.
  I'm looking for a C# solution but other methods are welcome.</p>