Add sha512Half and SHA512HashHasher:

These routines replace existing code to compute SHA512-Half hashes.
The new code accumulates serialized data into a hashing context
instead of allocating a buffer, for improved performance.
This commit is contained in:
Vinnie Falco
2015-05-27 09:27:35 -07:00
parent 06823349f9
commit c25184cc88
25 changed files with 357 additions and 323 deletions

View File

@@ -367,6 +367,10 @@
<ClCompile Include="..\..\src\beast\beast\crypto\Crypto.unity.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClInclude Include="..\..\src\beast\beast\crypto\impl\sha512_context.h">
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\crypto\sha512.h">
</ClInclude>
<ClCompile Include="..\..\src\beast\beast\crypto\tests\base64.test.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
@@ -1964,6 +1968,8 @@
</ClInclude>
<ClInclude Include="..\..\src\ripple\basics\seconds_clock.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\basics\SHA512Half.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\basics\Slice.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\basics\strHex.h">
@@ -2852,10 +2858,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\protocol\tests\Serializer.test.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\protocol\tests\STAmount.test.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>

View File

@@ -43,6 +43,9 @@
<Filter Include="beast\crypto">
<UniqueIdentifier>{ED78E906-CE72-CDEF-3018-99E02603C37E}</UniqueIdentifier>
</Filter>
<Filter Include="beast\crypto\impl">
<UniqueIdentifier>{398085D5-BDC7-D75C-2A1D-73395AC7A158}</UniqueIdentifier>
</Filter>
<Filter Include="beast\crypto\tests">
<UniqueIdentifier>{FF9CBE50-56A0-7B59-C99F-C873605C844B}</UniqueIdentifier>
</Filter>
@@ -804,6 +807,12 @@
<ClCompile Include="..\..\src\beast\beast\crypto\Crypto.unity.cpp">
<Filter>beast\crypto</Filter>
</ClCompile>
<ClInclude Include="..\..\src\beast\beast\crypto\impl\sha512_context.h">
<Filter>beast\crypto\impl</Filter>
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\crypto\sha512.h">
<Filter>beast\crypto</Filter>
</ClInclude>
<ClCompile Include="..\..\src\beast\beast\crypto\tests\base64.test.cpp">
<Filter>beast\crypto\tests</Filter>
</ClCompile>
@@ -2667,6 +2676,9 @@
<ClInclude Include="..\..\src\ripple\basics\seconds_clock.h">
<Filter>ripple\basics</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\basics\SHA512Half.h">
<Filter>ripple\basics</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\basics\Slice.h">
<Filter>ripple\basics</Filter>
</ClInclude>
@@ -3528,9 +3540,6 @@
<ClCompile Include="..\..\src\ripple\protocol\tests\RippleAddress.test.cpp">
<Filter>ripple\protocol\tests</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\protocol\tests\Serializer.test.cpp">
<Filter>ripple\protocol\tests</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\protocol\tests\STAmount.test.cpp">
<Filter>ripple\protocol\tests</Filter>
</ClCompile>