Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual basic 6.0-ComputeHash无效过程调用或参数错误_Hash_Vb6 - Fatal编程技术网

Visual basic 6.0-ComputeHash无效过程调用或参数错误

Visual basic 6.0-ComputeHash无效过程调用或参数错误,hash,vb6,Hash,Vb6,在步骤computeHash中,我收到错误消息无效的过程调用或参数 专用子窗体加载 Dim rngcsp As New RNGCryptoServiceProvider '= new RNGCryptoServiceProvider() Dim u8 As Encoding 'u8 = Encoding.UTF8 Dim minSaltSize As Integer Dim maxSaltSize As Integer Dim saltSize As Integer minSalt

在步骤computeHash中,我收到错误消息无效的过程调用或参数

专用子窗体加载

Dim rngcsp As New RNGCryptoServiceProvider '= new RNGCryptoServiceProvider()

Dim u8 As Encoding   

'u8 = Encoding.UTF8

Dim minSaltSize As Integer
Dim maxSaltSize As Integer
Dim saltSize As Integer

minSaltSize = 4
maxSaltSize = 8
Dim randm As Random

Set randm = New Random

Dim saltBytes() As Byte
ReDim saltBytes(saltSize)    

Set rngcsp = New RNGCryptoServiceProvider
rngcsp.GetNonZeroBytes (saltBytes)

Dim plainTextBytes() As Byte
plainTextBytes() = ConvertStringToUtf8Bytes("Mohan")

Dim plainTextBytesLen As Long
plainTextBytesLen = UBound(plainTextBytes) - LBound(plainTextBytes) + 1

Dim saltBytesLen As Long
saltBytesLen = UBound(saltBytes) - LBound(saltBytes) + 1

Dim plainTextWithSaltBytes() As Byte

ReDim plainTextWithSaltBytes(plainTextBytesLen + saltBytesLen)

For i = 0 To plainTextBytesLen - 1
    plainTextWithSaltBytes(i) = plainTextBytes(i)
Next    

For i = 0 To saltBytesLen - 1
    plainTextWithSaltBytes(i) = saltBytes(i)
Next

'Dim hash As HashAlgorithm = New MD5CryptoServiceProvider()    
Dim hash12 As New SHA256Managed

'SHA256Managed

 Dim totLen As Integer
 totLen = plainTextBytesLen + saltBytesLen

 Dim str As String
 Dim hashBytes() As Byte
 'With
 hashBytes = hash12.computeHash(plainTextWithSaltBytes)     ', 0, totLen)
 'End With

End Sub

我没有仔细阅读这段代码,但这可能是对数组边界的简单混淆。该行:

   ReDim plainTextWithSaltBytes(plainTextBytesLen + saltBytesLen)
…创建的数组比您想象的长一个字节