2011-06-21 22 views
1

私はsha512ハッシュを生成するために以下の機能を持っています。ハッシュが正常に生成され、結果として得られる文字列が他の関数に渡されたときに、このエラーの原因となっている:可変返されるハッシュを保持する(デバッグ場合SHA512ハッシュのVBタイプ設定

入力文字列が正しい形式

にしました文字列として設定)は空です。私はint型、int64型、byte型(配列と標準変数)を関数と呼び出しコードに変更しようとしましたが、これはさまざまなエラーを引き起こします。これを解決するにはどうすればデータ型を正しく変更できますか?

Function create_hash(ByVal password, ByVal salt) 

Dim salty As String = password & salt 

'convert salty password to binary to feed into hash function 
Dim encText As New System.Text.UTF8Encoding() 
Dim btText() As Byte 
btText = encText.GetBytes(salty) 


'Dim data(btText) As Byte 
'create password hash 
Dim result() As Byte 
Dim shaM As New SHA512Managed() 
result = shaM.ComputeHash(btText) 

Dim return_result As String 

For Each Item As Integer In result 

    return_result = return_result & Item 

Next 



Return return_result 
End Function 

電話番号:

Dim i_h_pass As String 
Dim i_pass As String = pass.Text 
      'handle password generation (matching passwords checked at validation) 
      Dim newHash = New hashing 
      Dim salt As String = Convert.ToString(newHash.create_salt) 
      i_h_pass = Convert.ToString(newHash.create_hash(i_pass, salt)) 

編集:

create_salt機能も確認されています - それは、完璧に動作し、ランダムな整数を返しますconveinceの文字列として返さ

答えて

1

固定:

機能create_hash(ByValのパスワード、ByValの塩)文字列= BitConverter.ToString(結果)として

Dim salty As String = password & salt 

'convert salty password to binary to feed into hash function 
Dim encText As New System.Text.UTF8Encoding() 
Dim btText() As Byte 
btText = encText.GetBytes(salty) 


'Dim data(btText) As Byte 
'create password hash 
Dim result() As Byte 
Dim shaM As New SHA512Managed() 
result = shaM.ComputeHash(btText) 

Dim return_result As String = BitConverter.ToString(result) 
    Return return_result 
End Function 

薄暗いreturn_result

が変更

ビーイング
関連する問題