mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-12-28 12:10:59 +00:00
parent
c5a9ee5234
commit
2026b0c0db
@ -575,10 +575,10 @@ class Hash
|
||||
// For the last chunk: pad to 32-byte boundary, endian-adjust,
|
||||
// NH hash and add bit-length. Concatenate the result to Y.
|
||||
//
|
||||
$length = strlen($m[$i]);
|
||||
$length = count($m) ? strlen($m[$i]) : 0;
|
||||
$pad = 32 - ($length % 32);
|
||||
$pad = max(32, $length + $pad % 32);
|
||||
$m[$i] = str_pad($m[$i], $pad, "\0"); // zeropad
|
||||
$m[$i] = str_pad(isset($m[$i]) ? $m[$i] : '', $pad, "\0"); // zeropad
|
||||
$m[$i] = pack('N*', ...unpack('V*', $m[$i])); // ENDIAN-SWAP
|
||||
|
||||
$y .= static::nh($k, $m[$i], new BigInteger($length * 8));
|
||||
|
Loading…
Reference in New Issue
Block a user