Go -- php 中的pack("H*", $string) 转换成go
pack("H*", $string) 转化成这样:
//16进制字符串转[]byte func HexToByte(hex string) []byte { length := len(hex) / 2 slice := make([]byte, length) rs := []rune(hex) for i := 0; i < length; i++ { s := string(rs[i*2 : i*2+2]) value, _ := strconv.ParseInt(s, 16, 10) slice[i] = byte(value & 0xFF) } return slice }
oneNet平台的数据校验:
func CheckSignature(nonce, msg, sign string ) string { new_sig := MD5_encrypt(token + nonce + msg) fmt.Println(strings.ToUpper(new_sig)) // upper upper := strings.ToUpper(new_sig) new_sig = base64.StdEncoding.EncodeToString(HexToByte(upper)) fmt.Println("byte", []byte(strings.ToUpper(new_sig))); fmt.Println("new_sig", new_sig) fmt.Println("sign", sign) if new_sig == sign { return msg } else { return "" } } //16进制字符串转[]byte func HexToByte(hex string) []byte { length := len(hex) / 2 slice := make([]byte, length) rs := []rune(hex) for i := 0; i < length; i++ { s := string(rs[i*2 : i*2+2]) value, _ := strconv.ParseInt(s, 16, 10) slice[i] = byte(value & 0xFF) } return slice }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步