public function onBeforeWrite() { if (!$this->owner->NewsletterTrackingToken) { $generator = new RandomGenerator(); $this->owner->NewsletterTrackingToken = $generator->generateHash('md5'); } }
protected function onBeforeWrite() { if (!$this->isInDB()) { $generator = new RandomGenerator(); $this->Token = $generator->generateHash('sha1'); } parent::onBeforeWrite(); }
/** * Generate an auto login hash * * This creates an auto login hash that can be used to reset the password. * * @param int $lifetime The lifetime of the auto login hash in days (by default 2 days) * * @todo Make it possible to handle database errors such as a "duplicate key" error */ function generateAutologinHash($lifetime = 2) { do { $generator = new RandomGenerator(); $hash = $generator->generateHash('sha1'); } while (DataObject::get_one('Member', "\"AutoLoginHash\" = '{$hash}'")); $this->AutoLoginHash = $hash; $this->AutoLoginExpired = date('Y-m-d', time() + 86400 * $lifetime); $this->write(); }
function testGenerateHashWithAlgorithm() { $r = new RandomGenerator(); $this->assertNotNull($r->generateHash('md5')); $this->assertNotEquals($r->generateHash(), $r->generateHash('md5')); }
/** * Return a string value stored in the {@link Member->Salt} property. * * @uses RandomGenerator * * @param String $password Cleartext password * @param Member $member (Optional) * @return String Maximum of 50 characters */ function salt($password, $member = null) { $generator = new RandomGenerator(); return substr($generator->generateHash('sha1'), 0, 50); }
/** * @uses RandomGenerator * * @return String */ protected function generate() { $generator = new RandomGenerator(); return $generator->generateHash('sha1'); }
/** * self::$cost param is forced to be two digits with leading zeroes for ints 4-9 */ public function salt($password, $member = null) { $generator = new RandomGenerator(); return sprintf('%02d', self::$cost) . '$' . substr($generator->generateHash('sha1'), 0, 22); }