我正在尝试关注this sample code for C++,但行:
Using namespace System::Security::Cryptography;
在VS 2013专业版中引发错误。单词System以红色加下划线,鼠标悬停消息显示:“name后跟'::'必须是类或名称空间名称”。我使用HMACSHA1类以多种语言(C#,VB.net,python等)工作代码,但无法在C ++中使用它。在C ++中访问这个类有什么问题?我应该使用不同的命名空间,还是为某个文件添加#include?我在C中看到了使用HMAC类的example,但这是一个“抽象类”,并且看起来需要更多的工作来获得我想要的东西。我不明白为什么我不能使用能够提供我所需要的HMACSHA1类。
(以防万一有人问,我的工作vb.net代码如下:
Private Function GetApi_Sig()
Dim api_sig As String = ""
Using myhmac As New HMACSHA1(System.Text.Encoding.UTF8.GetBytes(secret))
Dim hashValue As Byte() = myhmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(key))
Dim i As Integer
For i = 0 To (hashValue.Length - 1)
api_sig = api_sig + String.Format("{0:x2}", hashValue(i))
Next i
End Using
Return api_sig
End Function 'GetApi_Sig
)