code: func IsHash(str string, algorithm string) bool {
  	len := "0"
  	algo := strings.ToLower(algorithm)
  
  	if algo == "crc32" || algo == "crc32b" {
  		len = "8"
  	} else if algo == "md5" || algo == "md4" || algo == "ripemd128" || algo == "tiger128" {
  		len = "32"
  	} else if algo == "sha1" || algo == "ripemd160" || algo == "tiger160" {
  		len = "40"
  	} else if algo == "tiger192" {
  		len = "48"
  	} else if algo == "sha256" {
  		len = "64"
  	} else if algo == "sha384" {
  		len = "96"
  	} else if algo == "sha512" {
  		len = "128"
  	} else {
  		return false
  	}
  
  	return Matches(str, "^[a-f0-9]{"+len+"}$")
  }
docs: // IsHash checks if a string is a hash of type algorithm.
  // Algorithm is one of ['md4', 'md5', 'sha1', 'sha256', 'sha384', 'sha512', 'ripemd128', 'ripemd160', 'tiger128', 'tiger160', 'tiger192', 'crc32', 'crc32b']