Base64Encoder - Base64Decoder

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Base64Encoder - Base64Decoder

Beitrag von Tsuki-Namida »

Hallo,
Ich möchteeinen text Verschlüsseln und auch entschlüsseln.... für meine zwecke reicht der Base64 aber ich bekomme beim Verschlüsseln die meldung das die länge 33% größer sein muss (Steht ja auch inder hilfe) deshalb habe ich dasso geregelt:

Code: Alles auswählen

Base64Encoder(@String, StringByteLength(String), @enc, Len(String)/100*135)
wenn ich dann den code weiterlaufen lasse nach der meldung bekomme ich zwar die verschlüsselte wariante aber wenn ich dann entschlüssel bekomme ich nur einen bruchteil zurück..... hier ist die zeile zum entschlüsseln:

Code: Alles auswählen

Base64Decoder(@String, StringByteLength(String), @dec, Len(String))
ich hoffe das mir jemand helfen kann..... Danke
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von STARGÅTE »

Und wieder einer der in einen String-Pointer schreibt :freak:

Fragen an dich:
Wieso benutzt du einmal richtigerweise StringByteLength und beim anderen mal nur Len() ?
- Bitte beide male StringByteLength nutzen!
Hast du vorher sichergestellt das @enc auch ein gültiger String-Pointer ist ?
- Hast du ihn also vorher schon mit zB Space(Len(String)*1.35) initiallisiert ?
Hast du vorher sichergestellt das @dec auch ein gültiger String-Pointer ist ?
- -"-

In Zukunft:
Bitte Immer echte Pointer nutzen, statt String-Pointer, sofern in der Hilfe auch Pointer als Parameter erwartet werden!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von Tsuki-Namida »

Ja als Pointer habeichesfestgelegt ;)

Code: Alles auswählen

  dec.s = Space(StringByteLength(String)) 
  enc.s = Space(StringByteLength(String)/100*135) 
und ich habe Len() mit StringByteLength() ausgetauscht...

Code: Alles auswählen

Base64Encoder(@String, StringByteLength(String), @enc, StringByteLength(String)/100*135)

Habe aber dennoch das selbe Problem......
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von STARGÅTE »

Kann dein Problem nicht nachvollziehen.

hast du auch die Mindestgröße von 64 Bytes beachtet?

Code: Alles auswählen

Define.s String = "Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt!"
Define.s enc = Space(Len(String)*1.35+64)
Define.s dec = Space(Len(String))
Base64Encoder(@String, StringByteLength(String), @enc, StringByteLength(enc))
Debug enc
Base64Decoder(@enc, StringByteLength(enc), @dec, StringByteLength(dec))
Debug dec
Noch ein Hinweis:
A/100*135 ist immer 0 wenn A < 100 ist und Integers erwartet werden!
Daher lieber *1.35
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von Tsuki-Namida »

Supi Danke so funktioniert es jetzt ^^ also mit *1.35+64

aber beim Decoder bekomme ich dennoch nur ein bruchteil raus nicht alles....
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von STARGÅTE »

Es wäre vielleicht angebracht, wenn du mal einen kompletten Code posten würdest, wo man dieses Problem sehen kann!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von Tsuki-Namida »

okay Danke aberes hat sich erledigt ^^
es lag an einem Tip fehler -.- es funktioniert alles supi :)
Bild
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Base64Encoder - Base64Decoder

Beitrag von Danilo »

STARGÅTE hat geschrieben:Es wäre vielleicht angebracht, wenn du mal einen kompletten Code posten würdest, wo man dieses Problem sehen kann!
Hat er schon gepostet:

Code: Alles auswählen

Base64Decoder(@String, StringByteLength(String), @dec, Len(String))
Hier verwendete er bei den ersten beiden Argumenten
wieder den originalen String, nicht den verschlüsselten (enc). :)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Base64Encoder - Base64Decoder

Beitrag von STARGÅTE »

:lol: Konnte ja nicht ahnen, das er diese Beispiel-Schnipsel wirklich benutzt hat ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Base64Encoder - Base64Decoder

Beitrag von NicTheQuick »

Danilo? :o :mrgreen:
Antworten