pike.git / lib / modules / Crypto / randomness.pmod

version» Context lines:

pike.git/lib/modules/Crypto/randomness.pmod:81:    void create(string secret)    {    object hash = Crypto.sha();    hash->update(secret);       rc4::set_encrypt_key(hash->digest());    }       string read(int len)    { -  return rc4::crypt(replace(allocate(len), 0, "\47") * ""); +  if (len > 16384) return read(len/2)+read(len-len/2); +  return rc4::crypt("\47" * len);    }   }      object reasonably_random()   {    if (file_stat(PRANDOM_DEVICE))    {    object res = Stdio.File();    if (res->open(PRANDOM_DEVICE, "r"))    return res;