Go学习(二十六):MD5,Sha1,Base64的使用

1.生成Md5

package main
import (
 "crypto/md5"
 "fmt"
 "io"
)
func main() {
 str := "Hello Word"
 // 方法一
 sum := md5.Sum([]byte(str))
 // 转成16进制
 md51 := fmt.Sprintf("%x", sum)
 fmt.Println("方法一: " + md51)

 // 方法二
 hash := md5.New()
 // 将str写入到hash
 _, err := io.WriteString(hash, str)
 if err != nil {
  fmt.Println(err.Error())
 }
 // 转成16进制
 md52 := fmt.Sprintf("%x",hash.Sum(nil))
 fmt.Println("方法二: " + md52)
}

/** 输出
方法一: ed0a96e83ab7b0910fcbcc131b2e6b82
方法二: ed0a96e83ab7b0910fcbcc131b2e6b82
*/

2.生成Sha1

package main
import (
 "crypto/sha1"
 "fmt"
 "io"
)
func main() {
 str := "1234"
 // 方法一
 sum := sha1.Sum([]byte(str))
 // 转成16进制
 shaA := fmt.Sprintf("%x", sum)
 fmt.Println("方法一: " + shaA)

 // 方法二
 hash := sha1.New()
 _, err := io.WriteString(hash, str)
 if err != nil {
  fmt.Println(err.Error())
 }
 // 转成16进制
 shaB := fmt.Sprintf("%x",hash.Sum(nil))
 fmt.Println("方法二: " + shaB)
}
/** 输出
方法一: 7110eda4d09e062aa5e4a390b0a572ac0d2c0220
方法二: 7110eda4d09e062aa5e4a390b0a572ac0d2c0220
*/

3.Base64编码和解码

package main
import (
 "encoding/base64"
 "fmt"
)
func main() {
 str := "1234"
 // 方法一
 // Base64编码
 base64EncodeStr := base64.StdEncoding.EncodeToString([]byte(str))
 fmt.Printf("方法一,Base64编码: %v \n",base64EncodeStr)
 // Base64解码
 decodeString, err := base64.StdEncoding.DecodeString(base64EncodeStr)
 if err != nil {
  fmt.Println(err.Error())
 }
 fmt.Printf("方法一,Base64解码: %s \n",decodeString)

 // 方法二:使用兼容URL的base64编码和解码
 toString := base64.URLEncoding.EncodeToString([]byte(str))
 fmt.Printf("方法二,Base64编码: %v \n",toString)
 bytes, _ := base64.URLEncoding.DecodeString(toString)
 fmt.Printf("方法二,Base64解码: %s \n",bytes) 
  //方法三:
  base64.RawURLEncoding.DecodeString([]byte(str))
}

/**输出
方法一,Base64编码: MTIzNA== 
方法一,Base64解码: 1234 
方法二,Base64编码: MTIzNA== 
方法二,Base64解码: 1234 
*/

本文由 mdnice 多平台发布

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值