c# - VB.NET 中的插值
问题描述
我需要使用 VB.NET 对字符串进行签名。在 C# 中,语法为:
string stringToSign = $"{method}\n\n\n{request.ContentLength}\n\n{request.ContentType}\n\n\n\n\n\n\n{headerResource}\n{urlResource}";
string signature = Convert.ToBase64String(hmac.ComputeHash(Encoding.UTF8.GetBytes(stringToSign )));
在$
VB.NET 中是不允许的。当我在 VB.NET 中尝试相同时,校验和是不同的。我想问题是\n
,因为当这些被删除时,总和匹配。我试图通过在( )\
之前添加一个额外的来逃避反斜杠。\n
\\n
我已经搜索但未能找到一个好的解决方案。有任何想法吗?
解决方案
如果您的问题与 VB.NET 插值有关,您可以$""
在 VB.Net 中使用替换\n
为{vbLf}
,如下例所示
Dim stringToSign As String = $"{method}{vbLf}{vbLf}{vbLf}{request.ContentLength}{vbLf}{vbLf}{request.ContentType}{vbLf}{vbLf}{vbLf}{vbLf}{vbLf}{vbLf}{vbLf}{headerResource}{vbLf}{urlResource}"
如果您的问题与ComputeHash()
其他问题有关,您必须更改问题的标题!
推荐阅读
- c# - Asp.Net Core 2.0 Web Api:结合 jwt 令牌使用 asp.net 身份 cookie 来实现记住我的功能
- git - 如何像快照一样在一个分支中 git 回滚/重做工作字典文件?
- c# - .NET:如何使用 exe 和 pdb 文件查找一行代码的源代码
- xml - POSTMAN 在 XML 请求正文中设置变量
- c++ - 如何创建具有用于捕获上下文的额外参数的 boost::range::transform 版本
- android - 如何在分享到 facebook 时创建自定义 og 类型和 .setActionType()?
- reporting-services - SSRS 2017 订阅将无法打开
- android - 如何在 Android 的 SurfaceViewRenderer 上渲染 WebRTC VideoTrack?
- reactjs - 反应 setState 间隔
- node.js - 异步等待节点js