Ich bin ziemlich neu in Python-Programmierung, aber ich versuche, meine eigenen einfachen Verschlüsselungsprogramm für ein Schulprojekt zu machen. Endlich habe ich nach vielen Recherchen angefangen, hauptsächlich über die Syntax verschiedener Python-Befehle. Wie auch immer, ein Teil meines Codes beinhaltet die Übersetzung von zwei Textzeilen (Schlüssel und msg) in Hexadezimal, um meinen einfachen Verschlüsselungsalgorithmus auszuführen. Obwohl alles richtig scheint, bekomme ich manchmal Ausgaben mit einem Großbuchstaben L am Ende der hexadezimalen Zeichenkette. (Beispiel unten mit Code) Jeder Rat wäre hilfreich!Probleme mit Text zu Hexadezimal-Programm in Python
Angenommen msg = "Hallo Welt" und key = „/ abc zum Beispiel.
# define functions
def function_hex(string, length):
variable = "0x00"
for i in xrange(0, length):
n = ord(string[i])
variable = hex(256 * int(variable, 16) + n) #line 24
return variable
# transform input/key to hex
msg_hex = function_hex(msg, msg_length) #line 29
print msg_hex
key_hex = function_hex(key, key_length)
print key_hex
Ausgang
message: hello world
key: /abc
encrypt or decrypt: encrypt
Traceback (most recent call last):
File "python", line 29, in <module>
File "python", line 24, in function_hex
ValueError: invalid literal for int() with base 16: '0x68656c6c6f20776f72L'