mirror of
https://github.com/xiaoqidun/ihash.git
synced 2024-11-01 00:38:50 +08:00
feat(新增算法): 支撑sha384sum
This commit is contained in:
parent
b7521e21b7
commit
c56c6c7e55
@ -17,6 +17,7 @@ go build ihash.go
|
|||||||
- md5sum
|
- md5sum
|
||||||
- sha1sum
|
- sha1sum
|
||||||
- sha256sum
|
- sha256sum
|
||||||
|
- sha384sum
|
||||||
- sha512sum
|
- sha512sum
|
||||||
- sha3sum224
|
- sha3sum224
|
||||||
- sha3sum256
|
- sha3sum256
|
||||||
|
65
ihash.go
65
ihash.go
@ -19,6 +19,18 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
md5sum = "md5sum"
|
||||||
|
sha1sum = "sha1sum"
|
||||||
|
sha256sum = "sha256sum"
|
||||||
|
sha384sum = "sha384sum"
|
||||||
|
sha512sum = "sha512sum"
|
||||||
|
sha3sum224 = "sha3sum224"
|
||||||
|
sha3sum256 = "sha3sum256"
|
||||||
|
sha3sum384 = "sha3sum384"
|
||||||
|
sha3sum512 = "sha3sum512"
|
||||||
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
args []string
|
args []string
|
||||||
author bool
|
author bool
|
||||||
@ -26,14 +38,15 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var typeList = []string{
|
var typeList = []string{
|
||||||
"md5sum",
|
md5sum,
|
||||||
"sha1sum",
|
sha1sum,
|
||||||
"sha256sum",
|
sha256sum,
|
||||||
"sha512sum",
|
sha384sum,
|
||||||
"sha3sum224",
|
sha512sum,
|
||||||
"sha3sum256",
|
sha3sum224,
|
||||||
"sha3sum384",
|
sha3sum256,
|
||||||
"sha3sum512",
|
sha3sum384,
|
||||||
|
sha3sum512,
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -91,21 +104,23 @@ func InArray(value interface{}, array interface{}) int {
|
|||||||
func StrHash(hashType string, hashData []byte) string {
|
func StrHash(hashType string, hashData []byte) string {
|
||||||
var sum interface{}
|
var sum interface{}
|
||||||
switch hashType {
|
switch hashType {
|
||||||
case "md5sum":
|
case md5sum:
|
||||||
sum = md5.Sum(hashData)
|
sum = md5.Sum(hashData)
|
||||||
case "sha1sum":
|
case sha1sum:
|
||||||
sum = sha1.Sum(hashData)
|
sum = sha1.Sum(hashData)
|
||||||
case "sha256sum":
|
case sha256sum:
|
||||||
sum = sha256.Sum256(hashData)
|
sum = sha256.Sum256(hashData)
|
||||||
case "sha512sum":
|
case sha384sum:
|
||||||
|
sum = sha512.Sum384(hashData)
|
||||||
|
case sha512sum:
|
||||||
sum = sha512.Sum512(hashData)
|
sum = sha512.Sum512(hashData)
|
||||||
case "sha3sum224":
|
case sha3sum224:
|
||||||
sum = sha3.Sum224(hashData)
|
sum = sha3.Sum224(hashData)
|
||||||
case "sha3sum256":
|
case sha3sum256:
|
||||||
sum = sha3.Sum256(hashData)
|
sum = sha3.Sum256(hashData)
|
||||||
case "sha3sum384":
|
case sha3sum384:
|
||||||
sum = sha3.Sum384(hashData)
|
sum = sha3.Sum384(hashData)
|
||||||
case "sha3sum512":
|
case sha3sum512:
|
||||||
sum = sha3.Sum512(hashData)
|
sum = sha3.Sum512(hashData)
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("%x", sum)
|
return fmt.Sprintf("%x", sum)
|
||||||
@ -127,21 +142,23 @@ func FileHash(hashType string, hashFile string) {
|
|||||||
readBytes := make([]byte, 8192)
|
readBytes := make([]byte, 8192)
|
||||||
var hashHandle interface{}
|
var hashHandle interface{}
|
||||||
switch hashType {
|
switch hashType {
|
||||||
case "md5sum":
|
case md5sum:
|
||||||
hashHandle = md5.New()
|
hashHandle = md5.New()
|
||||||
case "sha1sum":
|
case sha1sum:
|
||||||
hashHandle = sha1.New()
|
hashHandle = sha1.New()
|
||||||
case "sha256sum":
|
case sha256sum:
|
||||||
hashHandle = sha256.New()
|
hashHandle = sha256.New()
|
||||||
case "sha512sum":
|
case sha384sum:
|
||||||
|
hashHandle = sha512.New384()
|
||||||
|
case sha512sum:
|
||||||
hashHandle = sha512.New()
|
hashHandle = sha512.New()
|
||||||
case "sha3sum224":
|
case sha3sum224:
|
||||||
hashHandle = sha3.New224()
|
hashHandle = sha3.New224()
|
||||||
case "sha3sum256":
|
case sha3sum256:
|
||||||
hashHandle = sha3.New256()
|
hashHandle = sha3.New256()
|
||||||
case "sha3sum384":
|
case sha3sum384:
|
||||||
hashHandle = sha3.New384()
|
hashHandle = sha3.New384()
|
||||||
case "sha3sum512":
|
case sha3sum512:
|
||||||
hashHandle = sha3.New512()
|
hashHandle = sha3.New512()
|
||||||
}
|
}
|
||||||
for {
|
for {
|
||||||
|
Loading…
Reference in New Issue
Block a user