>>1
produces incorrect output for "kami".
looks like you forgot to convert to shift jis.
it also produces incorrect output for passwords containing any of: &<>"',
you can compare the results with http://hotaru.thinkindifferent.net/trip.html, which gives the same results as wakaba and kareha.