![]() |
Re: unicodefähiges Base32Decode
Deshalb füllt der Encoder ja auch mit Padding-Bytes hinten auf (=).
|
Re: unicodefähiges Base32Decode
Zitat:
Diese sind nicht dafür da, um die 8er-Gruppen zu bilden. |
Re: unicodefähiges Base32Decode
Fehler in Encoder gefunden! Das ShiftLinks mit der Multiplikation war verkehrt herum:
Aus
Delphi-Quellcode:
muss
nr := nr * 256 + ord(source[i]);
Delphi-Quellcode:
gemacht werden.
nr := nr * 256 + ord(source[5+1-i]);
Dito mit der 2. Berechnung darunter.
Delphi-Quellcode:
So stimmts dann auch mit dem anderen Code überein und geht unter D2009+.
function Base32Encode(source: String): String;
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; var i: Integer; nr: Int64; begin result := ''; while length(source) >= 5 do begin nr := 0; for i := 1 to 5 do nr := nr * 256 + ord(source[5+1-i]); for i := 1 to 8 do begin result := result + alphabet[(nr mod 32) + 1]; nr := nr div 32; end; delete(source, 1, 5); end; nr := 0; if length(source) > 0 then begin for i := 1 to length(source) do nr := nr * 256 + ord(source[Length(source)+1-i]); for i := 1 to 8 do begin if nr > 0 then begin result := result + alphabet[(nr mod 32) + 1]; nr := nr div 32; end else result := result + '='; end; end; end; |
Re: unicodefähiges Base32Decode
Zitat:
S := 'abcde'#0#0#0#0#0'xyz'; Außerdem würde ich in diesem Fall den uncodierten Text als AnsiString geklarieren, denn mit Unicode läuft es hier nicht richtig. |
Re: Base32Decode
Liste der Anhänge anzeigen (Anzahl: 2)
Ok, das encrypt und anschließendes decrypt produzieren nun ein stimmiges Ergebnis.
Ich habe nun folgende Verständnisschwierigkeit: Ich habe in einer von einem Tauschbörsenprogramm produzierten Datei (ein Auszug daraus befindet sich im Anhang) einen Hexstring ('J3XEJMMFO3UE3Z5RMMKCWU35F7TCGGCF') enthalten. Wie komme ich nun von diesen Hexstring, der ein Base32 encodierter SHA1 Hash ist, auf den urspünglichen SHA1 Hashwert ('4EEE44B18576E84DE7B163142B537D2FE6231845')? Diesen Wert habe ich mittels einem Onlineconverter ermittelt ( ![]() Auch der ermittelte SHA1 Hashwert der Datei per Hashtab spuckt mir den SHA1 Hashwert '4EEE44B18576E84DE7B163142B537D2FE6231845' aus. |
Re: unicodefähiges Base32Decode
Zitat:
also Base32Decode und danach vermutlich BinToHex ... es könnte eventuell noch passieren, daß zwischendurch die Bytereihenfolge gedreht werden muß PS: Man könnte auch beides in ein einheitliches Binärformat bringen? ( Base32Decode und HexToBin ) |
Re: unicodefähiges Base32Decode
Zitat:
Danke nochmal! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz