Example #1
0
 function testValidate()
 {
     $expected = '$5$rounds=5000$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5';
     $actual = Crypt2007::crypt_sha256('Hello world!', 5000, 'saltstring', true);
     $this->assertEquals($expected, $actual);
     $this->assertTrue(Crypt2007::validate('Hello world!', $expected, true));
     $this->assertFalse(Crypt2007::validate('Goodbye world!', $expected, true));
     $this->assertTrue(Crypt2007::validate('Hello world!', $expected, false));
     $this->assertFalse(Crypt2007::validate('Goodbye world!', $expected, false));
     $expected = '$6$rounds=5000$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJuesI68u4OTLiBFdcbYEdFCoEOfaS35inz1';
     $actual = Crypt2007::crypt_sha512('Hello world!', 5000, 'saltstring', true);
     $this->assertEquals($expected, $actual);
     $this->assertTrue(Crypt2007::validate('Hello world!', $expected, true));
     $this->assertFalse(Crypt2007::validate('Goodbye world!', $expected, true));
     $this->assertTrue(Crypt2007::validate('Hello world!', $expected, false));
     $this->assertFalse(Crypt2007::validate('Goodbye world!', $expected, false));
     // negative cases
     // unknown algorithm
     $expected = '$1$rounds=5000$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJuesI68u4OTLiBFdcbYEdFCoEOfaS35inz1';
     $this->assertFalse(Crypt2007::validate('Hello world!', $expected, false));
     // not enought '$'
     $expected = '$6$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJuesI68u4OTLiBFdcbYEdFCoEOfaS35inz1';
     $this->assertFalse(Crypt2007::validate('Hello world!', $expected, false));
     // rounds are too low
     $expected = '$6$round=999$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJuesI68u4OTLiBFdcbYEdFCoEOfaS35inz1';
     $this->assertFalse(Crypt2007::validate('Hello world!', $expected, false));
 }