diff --git a/address_utils/address_utils.go b/address_utils/address_utils.go index bb58a469af0be7e44c48e0747b00aaf0168ee1d1..e4ef6cea68ba3fb4436f11f5fa488574c5206734 100644 --- a/address_utils/address_utils.go +++ b/address_utils/address_utils.go @@ -9,12 +9,16 @@ import ( ) // MD5HashOfAddress m(E,L,L) - calculates and returns the MD5 hash of the entered address, lat and lng concatenated together. If lat and lng is blank, it is only the hash of the entered address -func MD5HashOfAddress(enteredAddress string, lat *float64, lng *float64) string { +func MD5HashOfAddress(enteredAddress string, lat *float64, lng *float64, addressType *string) string { valueToHash := enteredAddress if lat != nil && lng != nil { valueToHash += fmt.Sprintf(",%v,%v", *lat, *lng) } + if addressType != nil && len(*addressType) > 0 && *addressType != "unknown" { + valueToHash += fmt.Sprintf(",%s", *addressType) + } + return fmt.Sprintf("%X", md5.Sum([]byte(valueToHash))) }