golang map做排序后,md5加密

Go map字典排序后md5加密

 

复制代码
package main

import (
    "bytes"
    "crypto/md5"
    "encoding/hex"
    "encoding/json"
    "fmt"
    "sort"
    "strings"
)

func main() {
    params := make(map[string]interface{})
    params["name"] = "test"
    params["key"] = "123aa!31."
    params["domain"] = "https://www.baidu.com?name=1&id=1"

    // 排序
    keys := make([]string, len(params))
    i := 0
    for k, _ := range params {
        keys[i] = k
        i++
    }
    sort.Strings(keys)
    fmt.Println("keys:",keys)

    byteBuf := bytes.NewBuffer([]byte{})
    encoder := json.NewEncoder(byteBuf)
    encoder.SetEscapeHTML(false)

    err := encoder.Encode(params)

    if err != nil {
        panic(err)
    }

    data := byteBuf.String()

    h := md5.New()
    h.Write([]byte(strings.TrimRight(data, "\n")))
    fmt.Println(hex.EncodeToString(h.Sum(nil)))
}
复制代码

 

posted on   星河赵  阅读(395)  评论(1编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5
点击右上角即可分享
微信分享提示