خرید بک لینک

Vote count: 0

CryptAcquireContext function returns FALSE with The Keyset is not defined error message. Here is my code.


Public Shared Function CryptAcquireContext(ByRef hProv As IntPtr, ByVal pszContainer As String, ByVal pszProvider As String, ByVal dwProvType As Int32, ByVal dwFlags As Int32) As Boolean
End Function


Public Shared Function CryptCreateHash(ByVal hProv As IntPtr, ByVal Algid As Int32, ByVal hKey As IntPtr, ByVal dwFlags As Int32, ByRef phHash As IntPtr) As Boolean
End Function


Public Shared Function CryptHashData(ByVal hHash As IntPtr, ByVal pbData() As Byte, ByVal dwDataLen As Int32, ByVal dwFlags As Int32) As Boolean
End Function

Public Const PROV_RSA_FULL As Int32 = 1
Public Const CRYPT_VERIFYCONTEXT As Int32 = &HF0000000

Private Function GetHash(ByVal text As String) As Boolean
    Dim bResult As Boolean = False
    Dim hProv As IntPtr
    Dim hHash As IntPtr

    If CryptAcquireContext(hProv, vbNull, vbNull, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT) Then
        If CryptCreateHash(hProv, CALG_SHA1, 0, 0, hHash) Then
            If CryptHashData(hHash, Encoding.ASCII.GetBytes(text), text.Length, 0) Then
                Dim bHash(20) As Byte
                Dim dwHashLen As Int32 = Marshal.SizeOf(bHash)
                bResult = CryptGetHashParam(hHash, HP_HASHVAL, bHash, dwHashLen, 0)
                If bResult = True Then
                    //Rest of string operations
                End If
            End If
        End If
    End If
    Dim errorMessage As String = New Win32Exception(Marshal.GetLastWin32Error()).Message
    MsgBox(errorMessage)
    Return bResult
End Function
("advapi32.dll",>("advapi32.dll",>("advapi32.dll",>

Do you have any idea about what i'm doing wrong?

Thanks

asked 33 secs ago

برچسب: نویسنده: استخدام کار تاريخ: چهارشنبه 20 ارديبهشت 1396 ساعت: 5:57

صفحه بندی