package utils

import (
	"crypto/md5"
	"crypto/sha256"
	"encoding/hex"
	"io"
)

//@author: [piexlmax](https://github.com/piexlmax)
//@function: MD5V
//@description: md5加密
//@param: str []byte
//@return: string

func MD5V(str []byte, b ...byte) string {
	h := md5.New()
	h.Write(str)
	return hex.EncodeToString(h.Sum(b))
}

func Sha256String(str string) string {
	// 创建一个新的sha256.Hash接口以写入数据
	hasher := sha256.New()

	// 写入要哈希的数据
	_, err := io.WriteString(hasher, str)
	if err != nil {
		panic(err)
	}
	// 计算SHA-256哈希值并返回切片
	sum := hasher.Sum(nil)

	// 将切片转换为十六进制字符串
	return hex.EncodeToString(sum)
}