Ich Programiere zur zeit eine Appi zum beschreiben und auslesen von Chipkarten. Das Beschreiben der Karte mit verschlüsselten Daten funktioniert super. Nur wenn ich die Daten wieder in einen String auslese, bekommt er zwar die Daten aber im wert des String fehlen am Ende die abschließenden Gänsefüße.
Dim tmp as String
tmp = Space(200)
'Die Schleife wiederholt den Verbindungsaufbau zur SmartCard falls dieser fehlgeschlagen ist / "Ret" enthält den Fehler Code, falls vorhanden
Do
Ret = SCardComand(0, "Card,MemRead,0,200", 0, CStr(0), 0, tmp, 200) 'In tmp wird der Wert geschrieben der in der Chipkarte von der Stelle "0" bis zur Stelle "200" steht
i = i + 1
Loop While Ret <> 0 And i <> 5
Dim encdata() As Byte = System.Convert.FromBase64String(tmp) ' Hier kommt der Fehler "Ungültige Zeichen in einer Base-64-Zeichenfolge."
Hab dann mal nachgeguckt ob in tmp nicht alle Zeichen des Verschlüsselten ausgelesenen String steht. Er enthielt alle Zeichen nur hat der Wert keine abschließendes Anführungszeichen.
z.B. tmp = "/hf1ta369HxGPCVakQarevnFAxk4mlwGwxsNx/VILUIysF4GRvyvZevpL5eS19OHiHwZlQJ7A9G/nIxXtBTnZ3DMAav9A3IJVekZNSVr679sM55XWZRa9nBWrUIhqytg
Wenn ich den Wert vor der Stelle, an der der Fehler auftritt, bearbeite indem ich die Anführungszeichen hinzufüge kommt es nicht zu diesem Fehler.
Wenn ich tmp mit nur 128 Leerzeichen, also der Bitlänge des verschlüsselten String, auffülle Funktioniert alles wieder wunderbar.
tmp = "/hf1ta369HxGPCVakQarevnFAxk4mlwGwxsNx/VILUIysF4GRvyvZevpL5eS19OHiHwZlQJ7A9G/nIxXtBTnZ3DMAav9A3IJVekZNSVr679sM55XWZRa9nBWrUIhqytg"
der String wird mit " abgeschlossen
Dim tmp as String
tmp = Space(200)
'Die Schleife wiederholt den Verbindungsaufbau zur SmartCard falls dieser fehlgeschlagen ist / "Ret" enthält den Fehler Code, falls vorhanden
Do
Ret = SCardComand(0, "Card,MemRead,0,200", 0, CStr(0), 0, tmp, 200) 'In tmp wird der Wert geschrieben der in der Chipkarte von der Stelle "0" bis zur Stelle "200" steht
i = i + 1
Loop While Ret <> 0 And i <> 5
Dim encdata() As Byte = System.Convert.FromBase64String(tmp) ' Hier kommt der Fehler "Ungültige Zeichen in einer Base-64-Zeichenfolge."
Hab dann mal nachgeguckt ob in tmp nicht alle Zeichen des Verschlüsselten ausgelesenen String steht. Er enthielt alle Zeichen nur hat der Wert keine abschließendes Anführungszeichen.
z.B. tmp = "/hf1ta369HxGPCVakQarevnFAxk4mlwGwxsNx/VILUIysF4GRvyvZevpL5eS19OHiHwZlQJ7A9G/nIxXtBTnZ3DMAav9A3IJVekZNSVr679sM55XWZRa9nBWrUIhqytg
Wenn ich den Wert vor der Stelle, an der der Fehler auftritt, bearbeite indem ich die Anführungszeichen hinzufüge kommt es nicht zu diesem Fehler.
Wenn ich tmp mit nur 128 Leerzeichen, also der Bitlänge des verschlüsselten String, auffülle Funktioniert alles wieder wunderbar.
tmp = "/hf1ta369HxGPCVakQarevnFAxk4mlwGwxsNx/VILUIysF4GRvyvZevpL5eS19OHiHwZlQJ7A9G/nIxXtBTnZ3DMAav9A3IJVekZNSVr679sM55XWZRa9nBWrUIhqytg"
der String wird mit " abgeschlossen
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Schaffragger“ ()