go 字符串连接有多种方法,buf 缓冲区的方法执行速度较快,该方法需要包含的包是:【byte】
go MD5加密方法,这里直接对一串字符串计算MD5。其中,通过md5.New()初始化一个MD5对象,其实它是一个hash.Hash对象。函数原型为 func
New() hash.Hash
。
该对象实现了hash.Hash的Sum接口:计算出校验和。其函数原型 为 func
Sum(data []byte) [Size]byte
是对hash.Hash对象内部存储的内容进行校验和计算,然后将其追加到data的后面形成一个新的byte切片,因此通常的使用方法就是将data置为nil。
该方法返回一个Size大小的byte数组,对于MD5来说就是一个128bit的16字节byte数组。这里通过 []byte() 将一个字符串转换成byte数组,还可以通过byte的其他接口进行转换。
package main
import (
"bytes"
"fmt"
"crypto/md5"
"encoding/hex"
)
func main() {
str := "something"
str2 := "nanalihai"
buf := bytes.NewBufferString(str)
buf.Write([]byte(str2))
fmt.Println(buf.String()) //输出拼接两个字符串的结果
h := md5.New()
h.Write([]byte(buf.String())) // 需要加密的字符串为buf.String()
fmt.Printf("%s\n", hex.EncodeToString(h.Sum(nil))) // 输出加密结果
}
运行结果为:
有疑问加站长微信联系(非本文作者)