title: Why does hmac use two solid pad paramaters?
body: <p>Hi I just understand it from a piece of code at wikipedia.
  The problem is there're too many implementations that use solid pad parameters,
  for eg:
    ipad would be [0x36 * blocksize]
    opad would be [0x5c * blocksize].</p>
  
  <p>The questions are:</p>
  
  <p>Why do people use this two solid pads in the code? Are they the best choice?
  <br>
  and Since it's solid, is this algorithm really securer than H(H(key+msg)+key)?</p>
  
  <p>By the way, I must say many documents about hashes and authentication are really horrible.
  <br>
  Is it because the NSA asks them to not be clear?      </p>