[Python-de] string.strip

Detlef Lannert lannert at uni-duesseldorf.de
Fri May 3 21:48:24 EDT 2002


> Hi alle,

Hallo Bernd,

> Bis vor den unseligen Update lief alles wunderbar mit folgendem
> Konstrukt:

wahrscheinlich hast Du Dein Linux upgedatet?

>   tocrypt="mkpasswd %s x" % form['m_passwd'].value
>   cryptpasswd=posix.popen(tocrypt)
>   crp=cryptpasswd.readlines()
>   crpa=string.strip(crp[0])
> 
> Nun meckert's mir entgegen:
> 
>   crpa=string.strip(crp[0])
>   IndexError: list index out of range
>   Wrong salt length: 1 byte(s) instead of 2.

... und ein neues mkpasswd bekommen. Es hat vorher ein Salt der Länge
1 (Dein "x" in der ersten Quellzeile) akzeptiert und daraus "xx"
gemacht, da das Salt des Unix-Paßworts aus zwei Bytes besteht. Das
neue will das wohl nicht und meckert stattdessen. Die Ausgabe geht nach
stderr, darum siehst Du sie. Nach stdout geht dann nix, darum bleibt
crpa eine leere Liste, und Python mag nicht, daß Du davon das nullte
Element haben willst.

Also "mkpasswd %s xy"; besser wäre allerdings, die beiden Zeichen
zufällig zu bestimmen (dann fällt es nicht so auf, daß zwei Paßwörter
gleich sind ...).

War's das?

  Detlef



More information about the Python-de mailing list