mirror of
https://github.com/php/php-src.git
synced 2025-01-26 13:44:22 +08:00
- ditch warnings
- add gost and snefru test - CREDITS += mike
This commit is contained in:
parent
7a9fcb329f
commit
55f3cabb90
@ -1,2 +1,2 @@
|
|||||||
PHP hash
|
PHP hash
|
||||||
Sara Golemon, Rasmus Lerdorf, Stefan Esser
|
Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner
|
||||||
|
@ -777,22 +777,22 @@ PHP_HASH_API void PHP_SHA384Final(unsigned char digest[48], PHP_SHA384_CTX * con
|
|||||||
unsigned int index, padLen;
|
unsigned int index, padLen;
|
||||||
|
|
||||||
/* Save number of bits */
|
/* Save number of bits */
|
||||||
bits[15] = context->count[0] & 0xFF;
|
bits[15] = (unsigned char) (context->count[0] & 0xFF);
|
||||||
bits[14] = (context->count[0] >> 8) & 0xFF;
|
bits[14] = (unsigned char) ((context->count[0] >> 8) & 0xFF);
|
||||||
bits[13] = (context->count[0] >> 16) & 0xFF;
|
bits[13] = (unsigned char) ((context->count[0] >> 16) & 0xFF);
|
||||||
bits[12] = (context->count[0] >> 24) & 0xFF;
|
bits[12] = (unsigned char) ((context->count[0] >> 24) & 0xFF);
|
||||||
bits[11] = (context->count[0] >> 32) & 0xFF;
|
bits[11] = (unsigned char) ((context->count[0] >> 32) & 0xFF);
|
||||||
bits[10] = (context->count[0] >> 40) & 0xFF;
|
bits[10] = (unsigned char) ((context->count[0] >> 40) & 0xFF);
|
||||||
bits[9] = (context->count[0] >> 48) & 0xFF;
|
bits[9] = (unsigned char) ((context->count[0] >> 48) & 0xFF);
|
||||||
bits[8] = (context->count[0] >> 56) & 0xFF;
|
bits[8] = (unsigned char) ((context->count[0] >> 56) & 0xFF);
|
||||||
bits[7] = context->count[1] & 0xFF;
|
bits[7] = (unsigned char) (context->count[1] & 0xFF);
|
||||||
bits[6] = (context->count[1] >> 8) & 0xFF;
|
bits[6] = (unsigned char) ((context->count[1] >> 8) & 0xFF);
|
||||||
bits[5] = (context->count[1] >> 16) & 0xFF;
|
bits[5] = (unsigned char) ((context->count[1] >> 16) & 0xFF);
|
||||||
bits[4] = (context->count[1] >> 24) & 0xFF;
|
bits[4] = (unsigned char) ((context->count[1] >> 24) & 0xFF);
|
||||||
bits[3] = (context->count[1] >> 32) & 0xFF;
|
bits[3] = (unsigned char) ((context->count[1] >> 32) & 0xFF);
|
||||||
bits[2] = (context->count[1] >> 40) & 0xFF;
|
bits[2] = (unsigned char) ((context->count[1] >> 40) & 0xFF);
|
||||||
bits[1] = (context->count[1] >> 48) & 0xFF;
|
bits[1] = (unsigned char) ((context->count[1] >> 48) & 0xFF);
|
||||||
bits[0] = (context->count[1] >> 56) & 0xFF;
|
bits[0] = (unsigned char) ((context->count[1] >> 56) & 0xFF);
|
||||||
|
|
||||||
/* Pad out to 112 mod 128.
|
/* Pad out to 112 mod 128.
|
||||||
*/
|
*/
|
||||||
@ -890,22 +890,22 @@ PHP_HASH_API void PHP_SHA512Final(unsigned char digest[48], PHP_SHA512_CTX * con
|
|||||||
unsigned int index, padLen;
|
unsigned int index, padLen;
|
||||||
|
|
||||||
/* Save number of bits */
|
/* Save number of bits */
|
||||||
bits[15] = context->count[0] & 0xFF;
|
bits[15] = (unsigned char) (context->count[0] & 0xFF);
|
||||||
bits[14] = (context->count[0] >> 8) & 0xFF;
|
bits[14] = (unsigned char) ((context->count[0] >> 8) & 0xFF);
|
||||||
bits[13] = (context->count[0] >> 16) & 0xFF;
|
bits[13] = (unsigned char) ((context->count[0] >> 16) & 0xFF);
|
||||||
bits[12] = (context->count[0] >> 24) & 0xFF;
|
bits[12] = (unsigned char) ((context->count[0] >> 24) & 0xFF);
|
||||||
bits[11] = (context->count[0] >> 32) & 0xFF;
|
bits[11] = (unsigned char) ((context->count[0] >> 32) & 0xFF);
|
||||||
bits[10] = (context->count[0] >> 40) & 0xFF;
|
bits[10] = (unsigned char) ((context->count[0] >> 40) & 0xFF);
|
||||||
bits[9] = (context->count[0] >> 48) & 0xFF;
|
bits[9] = (unsigned char) ((context->count[0] >> 48) & 0xFF);
|
||||||
bits[8] = (context->count[0] >> 56) & 0xFF;
|
bits[8] = (unsigned char) ((context->count[0] >> 56) & 0xFF);
|
||||||
bits[7] = context->count[1] & 0xFF;
|
bits[7] = (unsigned char) (context->count[1] & 0xFF);
|
||||||
bits[6] = (context->count[1] >> 8) & 0xFF;
|
bits[6] = (unsigned char) ((context->count[1] >> 8) & 0xFF);
|
||||||
bits[5] = (context->count[1] >> 16) & 0xFF;
|
bits[5] = (unsigned char) ((context->count[1] >> 16) & 0xFF);
|
||||||
bits[4] = (context->count[1] >> 24) & 0xFF;
|
bits[4] = (unsigned char) ((context->count[1] >> 24) & 0xFF);
|
||||||
bits[3] = (context->count[1] >> 32) & 0xFF;
|
bits[3] = (unsigned char) ((context->count[1] >> 32) & 0xFF);
|
||||||
bits[2] = (context->count[1] >> 40) & 0xFF;
|
bits[2] = (unsigned char) ((context->count[1] >> 40) & 0xFF);
|
||||||
bits[1] = (context->count[1] >> 48) & 0xFF;
|
bits[1] = (unsigned char) ((context->count[1] >> 48) & 0xFF);
|
||||||
bits[0] = (context->count[1] >> 56) & 0xFF;
|
bits[0] = (unsigned char) ((context->count[1] >> 56) & 0xFF);
|
||||||
|
|
||||||
/* Pad out to 112 mod 128.
|
/* Pad out to 112 mod 128.
|
||||||
*/
|
*/
|
||||||
|
@ -45,7 +45,8 @@ static inline void Snefru(php_uint32 input[16])
|
|||||||
{
|
{
|
||||||
static int shifts[4] = {16, 8, 16, 24};
|
static int shifts[4] = {16, 8, 16, 24};
|
||||||
int b, index, rshift, lshift;
|
int b, index, rshift, lshift;
|
||||||
php_uint32 *t0,*t1,SBE,B00,B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14,B15;
|
const php_uint32 *t0,*t1;
|
||||||
|
php_uint32 SBE,B00,B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14,B15;
|
||||||
|
|
||||||
B00 = input[0];
|
B00 = input[0];
|
||||||
B01 = input[1];
|
B01 = input[1];
|
||||||
|
@ -12,13 +12,26 @@
|
|||||||
<email>pollita@php.net</email>
|
<email>pollita@php.net</email>
|
||||||
<role>lead</role>
|
<role>lead</role>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
|
<maintainer>
|
||||||
|
<user>mike</user>
|
||||||
|
<name>Michael Wallner</name>
|
||||||
|
<email>mike@php.net</email>
|
||||||
|
<role>developer</role>
|
||||||
|
</maintainer>
|
||||||
</maintainers>
|
</maintainers>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<version>0.1</version>
|
<version>0.1</version>
|
||||||
<state>beta</state>
|
<state>beta</state>
|
||||||
<date>2005-11-18</date>
|
<date>2005-11-00</date>
|
||||||
<notes>Initial Release - md5, sha1, sha256, sha384, sha512, ripemd128, ripemd160, tiger, gost, snefru, whirlpool</notes>
|
<notes>
|
||||||
|
Initial Release
|
||||||
|
* md5
|
||||||
|
* sha1, sha256, sha384, sha512
|
||||||
|
* ripemd128, ripemd160
|
||||||
|
* tiger128, tiger160, tiger192
|
||||||
|
* gost, snefru, whirlpool
|
||||||
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
|
|
||||||
<filelist>
|
<filelist>
|
||||||
@ -39,7 +52,7 @@
|
|||||||
<file role="src" name="php_hash_tiger.h"/>
|
<file role="src" name="php_hash_tiger.h"/>
|
||||||
<file role="src" name="php_hash_tiger_tables.h"/>
|
<file role="src" name="php_hash_tiger_tables.h"/>
|
||||||
<file role="src" name="hash_snefru.c"/>
|
<file role="src" name="hash_snefru.c"/>
|
||||||
<file role="src" name="php_hash_snefru.c"/>
|
<file role="src" name="php_hash_snefru.h"/>
|
||||||
<file role="src" name="php_hash_snefru_tables.h"/>
|
<file role="src" name="php_hash_snefru_tables.h"/>
|
||||||
<file role="src" name="hash_gost.c"/>
|
<file role="src" name="hash_gost.c"/>
|
||||||
<file role="src" name="php_hash_gost.h"/>
|
<file role="src" name="php_hash_gost.h"/>
|
||||||
@ -57,6 +70,8 @@
|
|||||||
<file role="test" name="haval.phpt"/>
|
<file role="test" name="haval.phpt"/>
|
||||||
<file role="test" name="tiger.phpt"/>
|
<file role="test" name="tiger.phpt"/>
|
||||||
<file role="test" name="whirlpool.phpt"/>
|
<file role="test" name="whirlpool.phpt"/>
|
||||||
|
<file role="test" name="gost.phpt"/>
|
||||||
|
<file role="test" name="snefru.phpt"/>
|
||||||
</dir>
|
</dir>
|
||||||
</filelist>
|
</filelist>
|
||||||
|
|
||||||
|
20
ext/hash/tests/gost.phpt
Normal file
20
ext/hash/tests/gost.phpt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--TEST--
|
||||||
|
gost
|
||||||
|
--SKIPIF--
|
||||||
|
<?php extension_loaded('hash') or die('skip'); ?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
echo hash('gost', ''), "\n";
|
||||||
|
echo hash('gost', 'The quick brown fox jumps over the lazy dog'), "\n";
|
||||||
|
echo hash('gost', 'The quick brown fox jumps over the lazy cog'), "\n";
|
||||||
|
echo hash('gost', str_repeat('a', 31)), "\n";
|
||||||
|
echo hash('gost', str_repeat('a', 32)), "\n";
|
||||||
|
echo hash('gost', str_repeat('a', 33)), "\n";
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
ce85b99cc46752fffee35cab9a7b0278abb4c2d2055cff685af4912c49490f8d
|
||||||
|
77b7fa410c9ac58a25f49bca7d0468c9296529315eaca76bd1a10f376d1f4294
|
||||||
|
a3ebc4daaab78b0be131dab5737a7f67e602670d543521319150d2e14eeec445
|
||||||
|
03840d6348763f11e28e7b1ecc4da0cdf7f898fa555b928ef684c6c5b8f46d9f
|
||||||
|
fd1b746d9397e78edd311baef391450434271e02816caa37680d6d7381c79d4e
|
||||||
|
715e59cdc8ebde9fdf0fe2a2e811b3bf7f48209a01505e467d2cd2aa2bbb5ecf
|
18
ext/hash/tests/snefru.phpt
Normal file
18
ext/hash/tests/snefru.phpt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--TEST--
|
||||||
|
snefru
|
||||||
|
--SKIPIF--
|
||||||
|
<?php extension_loaded('hash') or die('skip'); ?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
echo hash('snefru', ''), "\n";
|
||||||
|
echo hash('snefru', 'The quick brown fox jumps over the lazy dog'), "\n";
|
||||||
|
echo hash('snefru', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), "\n";
|
||||||
|
echo hash('snefru', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), "\n";
|
||||||
|
echo hash('snefru', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), "\n";
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
8617f366566a011837f4fb4ba5bedea2b892f3ed8b894023d16ae344b2be5881
|
||||||
|
674caa75f9d8fd2089856b95e93a4fb42fa6c8702f8980e11d97a142d76cb358
|
||||||
|
94682bc46e5fbb8417e2f3e10ed360484048d946bb8cbb0ea4cad2700dbeaab0
|
||||||
|
c54c602ac46383716ee7200a76c9c90a7b435bbe31d13f04e0b00a7ea5c347fa
|
||||||
|
7a8539c59e192e8d70b1ab82aa86a1b54560d42020bda4e00ddd6d048fe3bcaa
|
Loading…
Reference in New Issue
Block a user