packwiz/core/hash.go
comp500 5dfe23e51d Implement pack importing/exporting for downloaded Curseforge packs
Abstract out hash implementations
Implement file saving/downloading
2019-11-12 22:11:40 +00:00

24 lines
461 B
Go

package core
import (
"crypto/md5"
"crypto/sha256"
"crypto/sha512"
"errors"
"hash"
)
// GetHashImpl gets an implementation of hash.Hash for the given hash type string
func GetHashImpl(hashType string) (hash.Hash, error) {
switch hashType {
case "sha256":
return sha256.New(), nil
case "sha512":
return sha512.New(), nil
case "md5":
return md5.New(), nil
}
// TODO: implement murmur2
return nil, errors.New("hash implementation not found")
}