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();
 }
Example #3
0
 /**
  * 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();
 }
Example #4
0
	function testGenerateHashWithAlgorithm() {
		$r = new RandomGenerator();
		$this->assertNotNull($r->generateHash('md5'));
		$this->assertNotEquals($r->generateHash(), $r->generateHash('md5'));
	}
Example #5
0
	/**
	 * 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);
	}
Example #6
0
	/**
	 * @uses RandomGenerator
	 * 
	 * @return String
	 */
	protected function generate() {
		$generator = new RandomGenerator();
		return $generator->generateHash('sha1');
	}
Example #7
0
 /**
  * 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);
 }