PureBasic

Fingerprint()

Синтаксис

Result$ = Fingerprint(*Buffer , Size , Plugin [, Bits])

Описание


Возвращает fingerprint (цифровой отпечаток ключа) для данного буфера.

Параметры

*Buffer Буфер, содержащий данные.
Size Размер данного буфера.
Plugin Используемый плагин. Может быть одно из следующих значений:
  #PB_Cipher_CRC32: Использует алгоритм CRC32. До регистрации плагина необходимо вызвать UseCRC32Fingerprint().
  #PB_Cipher_MD5  : Использует алгоритм MD5. До регистрации плагина необходимо вызвать UseMD5Fingerprint().
  #PB_Cipher_SHA1 : Использует алгоритм SHA1. До регистрации плагина необходимо вызвать UseSHA1Fingerprint().
  #PB_Cipher_SHA2 : Использует алгоритм SHA2. До регистрации плагина необходимо вызвать UseSHA2Fingerprint().
  #PB_Cipher_SHA3 : Использует алгоритм SHA3. До регистрации плагина необходимо вызвать UseSHA3Fingerprint().
Bits (дополн.) Число бит, используемое для fingerprint. Этот параметр поддерживается только для следующего плагина:
  #PB_Cipher_SHA2 : Может быть  224, 256 (по умолчанию), 384 или 512.
  #PB_Cipher_SHA3 : Может быть  224, 256 (по умолчанию), 384 или 512.

Возвращаемое значение

Возвращает fingerprint как шестнадцатеричную строку.

Пример

UseMD5Fingerprint()

*Buffer = AllocateMemory(500)
If *Buffer
    PokeS(*Buffer, "Быстрая коричневая лиса прыгает через ленивую собаку.", -1, #PB_Ascii)
    MD5$ = Fingerprint(*Buffer, MemoryStringLength(*Buffer, #PB_Ascii), #PB_Cipher_MD5)
    Debug "MD5 Fingerprint = " + MD5$
    FreeMemory(*Buffer) ; То же самое было бы сделано автоматически в конце программы
EndIf

См. также

FileFingerprint(), StartFingerprint(), StringFingerprint()

Поддерживаемые OS

Все

<- FileFingerprint() - Оглавление Cipher - FinishCipher()->