Fungsi CreateMD5SSOHash (wininet.h)
Fungsi CreateMD5SSOHash mendapatkan kata sandi Microsoft Passport default untuk akun atau realm tertentu, membuat hash MD5 darinya menggunakan string tantangan karakter lebar tertentu, dan mengembalikan hasilnya sebagai string byte digit heksadesimal.
Sintaks
BOOL CreateMD5SSOHash(
[in] PWSTR pszChallengeInfo,
[in] PWSTR pwszRealm,
[in] PWSTR pwszTarget,
[out] PBYTE pbHexHash
);
Parameter
[in] pszChallengeInfo
Arahkan ke string tantangan karakter lebar yang akan digunakan untuk hash MD5.
[in] pwszRealm
Penunjuk ke string yang menamai realm untuk mendapatkan kata sandi. Parameter ini diabaikan kecuali pwszTarget adalah NULL. Jika pwszTarget dan pwszRealm adalah NULL, realm default akan digunakan.
[in] pwszTarget
Penunjuk ke string yang menamai akun untuk mendapatkan kata sandi. Jika pwszTarget adalah NULL, realm yang ditunjukkan oleh pwszRealm digunakan.
[out] pbHexHash
Penunjuk ke buffer output tempat hash MD5 dikembalikan dalam format string heksa. Panjang buffer ini harus minimal 33 byte.
Nilai kembali
Mengembalikan TRUE jika berhasil, atau FALSE sebaliknya.
Keterangan
Setelah fungsi CreateMD5SSOHash berhasil mendapatkan kata sandi Microsoft Passport untuk akun atau realm yang ditentukan, fungsi ini mengonversi string tantangan dan kata sandi dari karakter luas ke karakter multi-byte (umumnya 8-bit), menggabungkannya, dan menggunakan pustaka RSA untuk menghasilkan hash MD5 dari kunci yang dihasilkan. Kemudian mengonversi hash menjadi string null-terminated dari digit heksadesimal 8-bit (menggunakan huruf kecil) yang menempatkannya di buffer yang ditunjukkan oleh parameter pbHexHash .
Oleh karena itu, buffer output yang diacu oleh pbHexHash harus cukup lama untuk menerima dua byte untuk masing-masing dari 16 byte hash, ditambah karakter null yang mengakhiri, dengan total 33 byte.
Seperti semua aspek lain dari Api WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wininet.h (termasuk Wininet.h) |
Pustaka | Wininet.lib |
DLL | Wininet.dll |