github.com/jrperritt/terraform@v0.1.1-0.20170525065507-96f391dafc38/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 if -v >= 0 { 18 return -v 19 } 20 // v == MinInt 21 return 0 22 }