code: func (t *SecureTrie) hashKey(key []byte) []byte {
  	h := newHasher(nil)
  	h.sha.Reset()
  	h.sha.Write(key)
  	buf := h.sha.Sum(t.hashKeyBuf[:0])
  	returnHasherToPool(h)
  	return buf
  }
docs: // hashKey returns the hash of key as an ephemeral buffer.
  // The caller must not hold onto the return value because it will become
  // invalid on the next call to hashKey or secKey.