7 class MWCryptHashTest
extends PHPUnit_Framework_TestCase
{
9 use MediaWikiCoversValidator
;
11 public function testHashLength() {
12 if ( MWCryptHash
::hashAlgo() !== 'whirlpool' ) {
13 $this->markTestSkipped( 'Hash algorithm isn\'t whirlpool' );
16 $this->assertEquals( 64, MWCryptHash
::hashLength(), 'Raw hash length' );
17 $this->assertEquals( 128, MWCryptHash
::hashLength( false ), 'Hex hash length' );
20 public function testHash() {
21 if ( MWCryptHash
::hashAlgo() !== 'whirlpool' ) {
22 $this->markTestSkipped( 'Hash algorithm isn\'t whirlpool' );
26 // phpcs:ignore Generic.Files.LineLength
27 $hash = '9923afaec3a86f865bb231a588f453f84e8151a2deb4109aebc6de4284be5bebcff4fab82a7e51d920237340a043736e9d13bab196006dcca0fe65314d68eab9';
31 MWCryptHash
::hash( $data ),
36 MWCryptHash
::hash( $data, false ),
41 public function testHmac() {
42 if ( MWCryptHash
::hashAlgo() !== 'whirlpool' ) {
43 $this->markTestSkipped( 'Hash algorithm isn\'t whirlpool' );
48 // phpcs:ignore Generic.Files.LineLength
49 $hash = 'ddc94177b2020e55ce2049199fd9cc6327f416ff6dc621cc34cb43d9bec61d73372b4790c0e24957f565ecaf2d42821e6303619093e99cbe14a3b9250bda5f81';
53 MWCryptHash
::hmac( $data, $key ),
58 MWCryptHash
::hmac( $data, $key, false ),