加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – VB.NET和sizeof

发布时间:2020-12-15 08:05:44 所属栏目:百科 来源:网络整理
导读:我正在将一些代码从C#转换为VB.NET.我在C#中有以下行 var bytes = new byte[password.Length * sizeof(char)]; 看看MSDN,似乎VB.NET似乎没有sizeof运算符.我知道有一个Marshal.SizeOf但是MSDN documentation还说明返回的值可能与sizeof的值不同. 有人可以帮
我正在将一些代码从C#转换为VB.NET.我在C#中有以下行
var bytes = new byte[password.Length * sizeof(char)];

看看MSDN,似乎VB.NET似乎没有sizeof运算符.我知道有一个Marshal.SizeOf但是MSDN documentation还说明返回的值可能与sizeof的值不同.

有人可以帮忙吗?在VB.NET中是否有相应的声明?

附加信息

我的目标是将密码转换为字节数组,然后我可以散列,然后存储在数据库中或与之前存储的散列进行比较.但我不一定想得到与我的具体情况有关的答案.

Dim bytes(password.Length * xxx) As Byte
System.Buffer.BlockCopy(password.ToCharArray(),bytes,bytes.Length)
Dim sha512 = System.Security.Cryptography.SHA512.Create()
Dim hash = sha512.ComputeHash(bytes)

' compare hash or stroe in database

解决方法

VB中的’Len’操作符将执行此操作(但它适用于实例,因此您需要相应地调整):
Dim bytes = New Byte((someString.Length * Len(New Char)) - 1){}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读