代码拉取完成,页面将自动刷新
package go_lib
import (
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"crypto/sha512"
"encoding/base64"
"encoding/hex"
"fmt"
"hash/crc32"
)
func Md5(data string) string {
hash := md5.Sum([]byte(data))
return hex.EncodeToString(hash[:])
}
func Md5File(filename string) (string, error) {
content, err := FileGetContents(filename)
if err != nil {
return "", err
}
return Md5(content), nil
}
func Sha1(data string) string {
hash := sha1.Sum([]byte(data))
return hex.EncodeToString(hash[:])
}
func Sha1File(filename string) (string, error) {
content, err := FileGetContents(filename)
if err != nil {
return "", err
}
return Sha1(content), nil
}
func Sha256(data string) string {
hash := sha256.Sum256([]byte(data))
return hex.EncodeToString(hash[:])
}
func Sha256File(filename string) (string, error) {
content, err := FileGetContents(filename)
if err != nil {
return "", err
}
return Sha256(content), nil
}
func Sha512(data string) string {
hash := sha512.Sum512([]byte(data))
return hex.EncodeToString(hash[:])
}
func Sha512File(filename string) (string, error) {
content, err := FileGetContents(filename)
if err != nil {
return "", err
}
return Sha512(content), nil
}
func Base64Encode(data string) string {
return base64.StdEncoding.EncodeToString([]byte(data))
}
func Base64Decode(data string) (string, error) {
decoded, err := base64.StdEncoding.DecodeString(data)
if err != nil {
return "", err
}
return string(decoded), nil
}
func Base64UrlEncode(data string) string {
return base64.URLEncoding.EncodeToString([]byte(data))
}
func Base64UrlDecode(data string) (string, error) {
decoded, err := base64.URLEncoding.DecodeString(data)
if err != nil {
return "", err
}
return string(decoded), nil
}
func HexEncode(data string) string {
return hex.EncodeToString([]byte(data))
}
func HexDecode(data string) (string, error) {
decoded, err := hex.DecodeString(data)
if err != nil {
return "", err
}
return string(decoded), nil
}
func Hash(algorithm, data string) (string, error) {
switch algorithm {
case "md5":
return Md5(data), nil
case "sha1":
return Sha1(data), nil
case "sha256":
return Sha256(data), nil
case "sha512":
return Sha512(data), nil
default:
return "", fmt.Errorf("unsupported hash algorithm: %s", algorithm)
}
}
func HashFile(algorithm, filename string) (string, error) {
content, err := FileGetContents(filename)
if err != nil {
return "", err
}
return Hash(algorithm, content)
}
func Crc32(data string) uint32 {
return crc32.ChecksumIEEE([]byte(data))
}
func Crc32File(filename string) (uint32, error) {
content, err := FileGetContents(filename)
if err != nil {
return 0, err
}
return Crc32(content), nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。