zoukankan      html  css  js  c++  java
  • 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
    }
  • 相关阅读:
    0806 c#总复习
    0804 递归
    0808 html基础
    0803结构体,枚举类型
    0801out传值
    0731函数
    0730特殊集合
    0728多维数组,ArrayList集合
    js 获取url链接的任意参数
    jq dom操作
  • 原文地址:https://www.cnblogs.com/mafeng/p/8431784.html
Copyright © 2011-2022 走看看