code: func (csp *CSP) GetHash(opts bccsp.HashOpts) (h hash.Hash, err error) {
  	// Validate arguments
  	if opts == nil {
  		return nil, errors.New("Invalid opts. It must not be nil.")
  	}
  
  	hasher, found := csp.Hashers[reflect.TypeOf(opts)]
  	if !found {
  		return nil, errors.Errorf("Unsupported 'HashOpt' provided [%v]", opts)
  	}
  
  	h, err = hasher.GetHash(opts)
  	if err != nil {
  		return nil, errors.Wrapf(err, "Failed getting hash function with opts [%v]", opts)
  	}
  
  	return
  }
docs: // GetHash returns and instance of hash.Hash using options opts.
  // If opts is nil then the default hash function is returned.