2016-03-23 20 views
0

Bu kod, komut satırında çalışır.base64 sözdizimi çalışmıyor

python -c 'import base64,sys; u,p=sys.argv[1:3]; print base64.encodestring("%s\x00%s\x00%s" % (u,u,p))' user pass 

çıkış =

Bu benim komut işe gitmek için çalışıyorum

test = base64.encodestring("{0}{0}{1}").format(acct_name,pw) 
print test 

çıktı ben yanlış hiçbir ezB9ezB9ezF9

kimse dXNlcgB1c2VyAHBhc3M yapıyorum olduğunu ne? Teşekkürler.

+0

"encodestring" tarafından döndürülen değeri biçimlendirirsiniz. 'encodestring (" {0} {0} {1} ". formatı (acct_name, pw))' doğru çalışması gerekir. – vaultah

+0

Belki bir şey özlüyorum, ama komut satırında iletilen dize de değiştirme parametreleri arasında '\ x00' var ... – mgilson

+0

Bu soru yazım hatası olarak işaretlenmeli mi, yoksa asıl sorunu göstermek için başlık değiştirilmeli mi? Ben eskilere doğru eğildim. – Reti43

cevap

1

Parantez içinde bir hata var. Onun yerine:

test = base64.encodestring("{0}{0}{1}").format(acct_name,pw) 

, (format kullanarak değişkenler yerine ilk hangi kodlayan "{0} {0}, {1}" base64 ve sonra çalışır)

sahip olmalıdır

test = base64.encodestring("{0}{0}{1}".format(acct_name,pw)) 

(hangisi format ve kullanarak değişkenleri değiştirir ve daha sonra kodları base64'te kodlar).

+0

Teşekkür ederim SZYM, bana daha çok yaklaştınız. U = elma p = elma bir test olsun YXBwbGUAYXBwbGUAYXBwbGU = komut satırı ile. scriptim bu YXBwbGVhcHBsZWFwcGxl verir Bu aldığım yeni hata. Dosya "", satır 1, NameError: name 'appleapple' tanımlı değil –

0

Teşekkürler SZYM ben setim. Bu

test = base64.encodestring("{0}\x00{0}\x00{1}".format(acct_name,pw)) 

programı adı durur ve şifre nerede başladığını karma bilir alma böylece altıgen \ x00 gereklidir çıkıyor işe alır koddur. -ALF