xref: /dokuwiki/_test/tests/inc/PassHash.test.php (revision 363404184fcd4ec7b0149662d99a22f2cc78020b)
1f1b824b5SAndreas Gohr<?php
2f1b824b5SAndreas Gohr
3f1b824b5SAndreas Gohr/**
4f1b824b5SAndreas Gohr * Class PassHash_test
5f1b824b5SAndreas Gohr *
6f1b824b5SAndreas Gohr * most tests are in auth_password.test.php
7f1b824b5SAndreas Gohr */
8*36340418SAndreas Gohrclass PassHash_test extends DokuWikiTest {
9f1b824b5SAndreas Gohr
10f1b824b5SAndreas Gohr    function test_hmac(){
11f1b824b5SAndreas Gohr        // known hashes taken from https://code.google.com/p/yii/issues/detail?id=1942
12f1b824b5SAndreas Gohr        $this->assertEquals('df08aef118f36b32e29d2f47cda649b6', PassHash::hmac('md5','data','secret'));
13f1b824b5SAndreas Gohr        $this->assertEquals('9818e3306ba5ac267b5f2679fe4abd37e6cd7b54', PassHash::hmac('sha1','data','secret'));
14f1b824b5SAndreas Gohr
15f1b824b5SAndreas Gohr        // known hashes from https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
16f1b824b5SAndreas Gohr        $this->assertEquals('74e6f7298a9c2d168935f58c001bad88', PassHash::hmac('md5','',''));
17f1b824b5SAndreas Gohr        $this->assertEquals('fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', PassHash::hmac('sha1','',''));
18f1b824b5SAndreas Gohr        $this->assertEquals('80070713463e7749b90c2dc24911e275', PassHash::hmac('md5','The quick brown fox jumps over the lazy dog','key'));
19f1b824b5SAndreas Gohr        $this->assertEquals('de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9', PassHash::hmac('sha1','The quick brown fox jumps over the lazy dog','key'));
20f1b824b5SAndreas Gohr
21f1b824b5SAndreas Gohr    }
22f1b824b5SAndreas Gohr}