以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  定义HMAC提示错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=180913)

--  作者:otterlike
--  发布时间:2022/10/19 20:43:00
--  定义HMAC提示错误
老师好!以下代码是.net代码
            // 签名计算  signStr--signData--finalData--signature
            HMAC m = HMACSHA1.Create();  //HMACSHA  签名生成算法
            m.Key = Encoding.UTF8.GetBytes(SK);  //Encoding 编码  GetBytes 获取字节
            byte[] signData = Encoding.UTF8.GetBytes(signStr);
            byte[] finalData = m.ComputeHash(signData); //Compute Hash  算哈希值
            string signature = Convert.ToBase64String(finalData); //Convert 转换
            request.Headers["_api_signature"] = signature; //request 请求
            Console.WriteLine("\\n\\n签名结果:\\n{0}", signature);//在屏幕上显示
我用代码转换器转成vb后如下:
   Dim m As HMAC = HMACSHA1.Create()  \'存在错误
    m.Key = Encoding.UTF8.GetBytes(SK)
    Dim signData As Byte() = Encoding.UTF8.GetBytes(signStr)
    Dim finalData As Byte() = m.ComputeHash(signData)
    Dim signature As String = Convert.ToBase64String(finalData)
    request.Headers("_api_signature") = signature
    Console.WriteLine(vbLf & vbLf & "签名结果:" & vbLf & "{0}", signature)

执行时红色字体部分存在错误,请问该如何修改?谢谢!

--  作者:有点蓝
--  发布时间:2022/10/20 8:36:00
--  
写全命名空间System.Security.Cryptography

Dim m As System.Security.Cryptography.HMAC = System.Security.Cryptography.HMACSHA1.Create()