title: JWT web token encryption - SecurityAlgoritms.HmacSha256 vs SecurityAlgoritms.HmacSha256Signature
body: <p>For token based authentication <code>Microsoft.IdentityModel.Tokens</code> provides a list of security algorithms that can be used to create <code>SigningCredentials</code>:</p>
  
  <pre><code>  string secretKey = "MySuperSecretKey";
    byte[] keybytes = Encoding.ASCII.GetBytes(secretKey);
    SecurityKey securityKey = new SymmetricSecurityKey(keybytes);
    SigningCredentials signingCredentials =
                      new SigningCredentials(securityKey,
                          SecurityAlgorithms.HmacSha256);
  
    SigningCredentials signingCredentials =
                      new SigningCredentials(securityKey,
                          SecurityAlgorithms.HmacSha256Signature);
  </code></pre>
  
  <p>What is the difference between <strong><em>HmacSha256</em></strong> and <strong><em>HmacSha256Signature</em></strong>? When would you use the signature one instead of the non-signature one?** </p>
  
  <p>There are other "non signature" and "signature" algorithms as well. For example, RsaSha256 and RsaSha256Signature  </p>