forked from lanvige/goutils
/
sha_util.go
83 lines (61 loc) · 1.51 KB
/
sha_util.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package hash
import (
"crypto/sha1"
"crypto/sha256"
"encoding/base64"
"encoding/hex"
)
// ==== SHA1 Operations ===== //
// ==== SHA1 Operations ===== //
// SHA1 SHA1
func SHA1(data string) []byte {
sha1 := sha1.New()
sha1.Write([]byte(data))
return sha1.Sum([]byte(""))
}
// SHA1Hex SHA1Hex
func SHA1Hex(data string) string {
cipherStr := SHA1(data)
return hex.EncodeToString(cipherStr)
}
// SHA1Base64 SHA1Base64
func SHA1Base64(data string) string {
cipherStr := SHA1(data)
return base64.StdEncoding.EncodeToString(cipherStr)
}
// ==== SHA256 Operations ===== //
// ==== SHA2 Operations ===== //
// SHA256 SHA256
func SHA256(data string) []byte {
sha256Value := sha256.New()
sha256Value.Write([]byte(data))
return sha256Value.Sum([]byte(""))
}
// SHA256Hex SHA256Hex
func SHA256Hex(data string) string {
cipherStr := SHA256(data)
return hex.EncodeToString(cipherStr)
}
// SHA256Base64 SHA256Base64
func SHA256Base64(data string) string {
cipherStr := SHA256(data)
return base64.StdEncoding.EncodeToString(cipherStr)
}
// ==== SHA512 Operations ===== //
// ==== SHA2 Operations ===== //
// SHA512 SHA512
func SHA512(data string) []byte {
shaValue := sha256.New()
shaValue.Write([]byte(data))
return shaValue.Sum([]byte(""))
}
// SHA512Hex SHA512Hex
func SHA512Hex(data string) string {
cipherStr := SHA512(data)
return hex.EncodeToString(cipherStr)
}
// SHA512Base64 SHA512Base64
func SHA512Base64(data string) string {
cipherStr := SHA512(data)
return base64.StdEncoding.EncodeToString(cipherStr)
}