博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go -- php 中的pack("H*", $string) 转换成go
阅读量:7136 次
发布时间:2019-06-28

本文共 1110 字,大约阅读时间需要 3 分钟。

 

pack("H*", $string) 转化成这样:

//16进制字符串转[]bytefunc 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进制字符串转[]bytefunc 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}

 

转载地址:http://mbvrl.baihongyu.com/

你可能感兴趣的文章
Swift -- enum 继承 protocol
查看>>
Java基础 - 流程控制语句
查看>>
JDK1.8 hashMap源码分析
查看>>
动态库的创建和调用
查看>>
Windows/Linux 平台快速的创建一个指定大小的文件
查看>>
csdn上传gif图不能添加水印
查看>>
淘宝退货业务 活动图
查看>>
USB鼠标键盘数据格式以及按键键值(转载)
查看>>
第十二周作业
查看>>
深入理解RunLoop
查看>>
iframe高度处理
查看>>
对Largest函数的测试
查看>>
laravel 自定义全局函数
查看>>
How to ssh
查看>>
NOIP 2002 字串变换
查看>>
jQuery选择器之层次选择器
查看>>
<input type="button">和<button>区别
查看>>
MVC模式在Java Web应用程序中的实现
查看>>
自定义值转换器
查看>>
数据库索引
查看>>