(Omit source code)
Constructs a new instance of the receiver.paramin The actual input stream where to read the bytes from.parampassword The password bytes to use to decrypt the input bytes super(in); this.password = password.clone();
super(in); this.password = password.clone();
int read = in.read(); if (read >= 0) { read ^= password[pwdIndex]; pwdIndex = (pwdIndex + 1) % password.length; } return read;
int read = in.read(b, off, len); if (read > 0) { int lastIndex = off + read; for (int i = off; i < lastIndex; i++) { b[i] ^= password[pwdIndex]; pwdIndex = (pwdIndex + 1) % password.length; } } return read;
long skip = super.skip(n); pwdIndex += skip; return skip;