hashBytes static method
Implementation
static int hashBytes(List<int> pass, List<int> ibuf, List<int> obuf, int ilen,
int olen, List<int> salt) {
int plen = pass.length;
int i;
int n = 0;
int p = (-1);
int seed = 0;
int rval;
if (ilen < 0) {
ilen = ibuf.length;
}
for ((i = 1); i < salt.length; i++) {
seed = (seed ^ salt[i]);
}
p = (seed % plen);
for ((i = 0); i < olen; i++) {
p++;
if (p >= plen) {
p = 0;
}
rval = pass[p];
if (p == (seed % plen)) {
seed = (pass[p] ^ seed);
}
rval = (pass[p] ^ seed);
obuf[n % olen] = (ibuf[i% ilen] ^ rval);
n++;
}
return ilen;
}