esmaspäev, 7. oktoober 2013 4:27.44 UTC+3 kirjutas Piet van Oostrum:
> [email protected] writes:
>
>
>
> > problem is : Traceback (most recent call last):
>
> > File "C:\Users\Marko\Desktop\hacker.org\XOR cypher.py", line 35, in
> > <module>
>
> > print("Key-" + str(võti) + ": " + str("".join(tulemus2)))
>
> > TypeError: sequence item 0: expected str instance, bytes found
>
> >
>
> > If i take away the join command i get this:
>
> > Key-00000000: [b'u', b'o', b'\x00', b'\x1d', b' ', b'|', b'N', b'\x0f',
> > b'9', b'j', b'K', b'J', b'&', b'#', b'A', b'K', b'5', b'k', b'_', b'\x1e',
> > b',', b'j', b'\x0c', b'\x08', b'i', b'(', b'\x06', b'\\', b'r', b'3',
> > b'\x1f', b'V', b's', b'9', b'\x1d']
>
> >
>
> > the Key-00000000 is the key im using to decrypt the code. everything else
> > is generated by the decrytion process and the unhexlify command. So my
> > guess is, the join command cant handle the b"u" type of format. how can i
> > get rid of the b.
>
> >
>
> > Or does anyone have a better idea how to translate HEX into ASCII and sort
> > out the lines that make sense
>
>
>
> Why do you post the same question twice under different subjects?
>
> --
Because i was told so, cause the subject change so it cant be under there
anymore.
This is the code i came up with:
from teisendaja import *
from operator import *
import binascii
teisendus = teisendus()
kood = input("Kood: ")
key = input("Võti: ")
chunksize = 2
vastus = [teisendus.teisendus3(16,2,kood[i: (i + chunksize)]) for i in range(0,
len(kood),chunksize)]
vastus = ["0"*(8-len(x)) + x for x in vastus]
#key = teisendus.teisendus3(10,2,int(key))
getBin = lambda x, n: x >= 0 and str(bin(x))[2:].zfill(n) or "-" +
str(bin(x))[3:].zfill(n)
def dekrüpteeria(vastus, key):
XOR = []
tulemus = []
for i in range(len(vastus)):
for j in range(8):
XOR.append(str(ixor(int(vastus[i][j]), int(key[j]))))
tulemus.append("".join(XOR))
key = "".join(XOR)
XOR = []
return tulemus
tulemus2= []
if key == "":
for i in range(256):
võti = getBin(i,8)
tulemus = [teisendus.teisendus3(2,16,i) for i in dekrüpteeria(vastus,
võti)]
tulemus = ["0"*(2-len(x)) + x for x in tulemus]
# for j in range(len(tulemus)):
tulemus2.append(binascii.unhexlify("".join(tulemus)))
print("Key-" + str(võti) + ": " + str(tulemus2))
tulemus2 = []
#tulemus = [teisendus.teisendus3(2,16,i) for i in dekrüpteeria(vastus, key)]
#print(":".join(tulemus))
#751a6f1d3d5c3241365321016c05620a7e5e34413246660461412e5a2e412c49254a24
Although this is quite ugly atm. But it serves me well, until i reach the
unhexlify part. The number and lette r string at the wery end is the mesage im
trying to decypher.
--
https://mail.python.org/mailman/listinfo/python-list