github.com/acm1/terraform@v0.6.2-0.20150729164239-1f314444f45c/helper/hashcode/hashcode.go (about)

     1  package hashcode
     2  
     3  import (
     4  	"hash/crc32"
     5  )
     6  
     7  // String hashes a string to a unique hashcode.
     8  //
     9  // crc32 returns a uint32, but for our use we need
    10  // and non negative integer. Here we cast to an integer
    11  // and invert it if the result is negative.
    12  func String(s string) int {
    13  	v := int(crc32.ChecksumIEEE([]byte(s)))
    14  	if v < 0 {
    15  		return -v
    16  	}
    17  
    18  	return v
    19  }