title: Changing machinekey prevents login of existing users
body: <p>I'm using Membership provider configured in <code>Web.config</code> like this to use SQL CE:</p>
  
  <pre><code>  &lt;connectionStrings&gt;
      &lt;add name="DefaultConnection" connectionString="Data Source=|DataDirectory|\Users.sdf" providerName="System.Data.SqlServerCe.4.0" /&gt;
    &lt;/connectionStrings&gt;
  </code></pre>
  
  <p>and:</p>
  
  <pre><code>&lt;membership defaultProvider="DefaultMembershipProvider"&gt;
    &lt;providers&gt;
      &lt;clear /&gt;
      &lt;add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordFormat="Hashed" applicationName="/" /&gt;
    &lt;/providers&gt;
  &lt;/membership&gt;
  </code></pre>
  
  <p>This works correctly if I have no machinekey specified.</p>
  
  <p>If I add a machinekey to the <code>Web.config</code> as follows, then existing users can no longer login. However I can create new users and they can log-in.</p>
  
  <pre><code>&lt;machineKey validationKey="D829F10BE92767EC2F9E9FC53B2CF3952AAD386483D6E81E74B4BD84DBE66F71CA121581598FEA669892DBDE46507DF3C8028BBD8FD4E678557621141945171C" decryptionKey="D14678D1FB1777E10316163F6D97071CDF2A447FA15C172DC9525BA397BB0610" validation="SHA1" decryption="AES" /&gt;
  &lt;pages enableViewStateMac="true"/&gt;
  </code></pre>
  
  <p>If I remove the machinekey then originally-created users can log-in again, and newly-created users cannot.</p>
  
  <p>Why does adding a machinekey change whether existing users can log-in, given that the password is hashed not encrypted?</p>