Aktuelle Zeit: 09.07.2020 10:46

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Fingerprint() Funktion mit Rückgabe eines Speicherzeigers ?
BeitragVerfasst: 01.07.2016 21:47 
Offline

Registriert: 16.09.2004 11:55
Wohnort: nrw
Hallo,

die Funktion Fingerprint() gibt einen String zurück. Diesen wandele ich dann in ein Bytearray um. Beispiel:

Code:
EnableExplicit
UseSHA3Fingerprint()

Procedure.i HexStr2Bin(daten.s)
  Protected anzahl.i = Len(daten)
  Protected *mem = AllocateMemory(anzahl / 2)
  If *mem And anzahl
    Protected *zmem = *mem
    Protected zdaten.i = 1
    While anzahl
      PokeA(*zmem, Val("$" + Mid(daten, zdaten, 2)))
      *zmem + 1
      zdaten + 2
      anzahl - 2
    Wend
  EndIf
  ProcedureReturn *mem
EndProcedure

Define *mem = HexStr2Bin(Fingerprint(?daten, 8, #PB_Cipher_SHA3, 512))
ShowMemoryViewer(*mem, MemorySize(*mem))
If *mem : FreeMemory(*mem) : EndIf
End

DataSection
  daten:
  Data.a $47, $11, $08, $15, $62, $87, $00, $FF
EndDataSection


Da die Funktion intern mit einem Speicherbuffer rechnet und das Ergebnis dann in einen String wandelt, frage ich mich ob man auch direkt an den Speicher heran kommt bevor der String erstellt wird?
Oder besser wie geht das Effizenter?

Gruß

_________________
Skylake QuadCore i7 6700K @4400MHz, MSI Z170A Gaming M5, 64 GB DDR4 @ 2133MHz, B: Ramdisk 32GB, C: Raid0 SATA SSD 1TB, D: Raid0 M2 SSD 1TB, E: Raid0 HDD 8TB, 28" 4K @ RTX2080, Win10 X64


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 8 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye