mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-23 13:22:47 +08:00
249 lines
11 KiB
XML
249 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 12.1.0 (20240811.2233)
|
|
-->
|
|
<!-- Title: hashing/sha256.cpp Pages: 1 -->
|
|
<!--zoomable 83 -->
|
|
|
|
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
|
|
|
<style type="text/css"><![CDATA[
|
|
.node, .edge {opacity: 0.7;}
|
|
.node.selected, .edge.selected {opacity: 1;}
|
|
.edge:hover path { stroke: red; }
|
|
.edge:hover polygon { stroke: red; fill: red; }
|
|
]]></style>
|
|
|
|
<defs>
|
|
<circle id="rim" cx="0" cy="0" r="7"/>
|
|
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
|
<g id="zoomPlus">
|
|
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
|
|
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
|
</g>
|
|
<g id="zoomMin">
|
|
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
|
|
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
|
</g>
|
|
<g id="arrowUp" transform="translate(30 24)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="resetDef">
|
|
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
|
|
</g>
|
|
</defs>
|
|
<script type="application/ecmascript">
|
|
var viewWidth = 502;
|
|
var viewHeight = 83;
|
|
var sectionId = 'dynsection-0';
|
|
</script>
|
|
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
|
|
<svg id="graph" class="graph">
|
|
<g id="viewport">
|
|
<title>hashing/sha256.cpp</title>
|
|
<!-- Node1 -->
|
|
<g id="Node000001" class="node">
|
|
<title>Node1</title>
|
|
<g id="a_Node000001"><a xlink:title="Simple C++ implementation of the [SHA-256 Hashing Algorithm] (https://en.wikipedia....">
|
|
<polygon fill="#999999" stroke="#666666" points="297.38,-74.5 194.38,-74.5 194.38,-55.25 297.38,-55.25 297.38,-74.5"/>
|
|
<text text-anchor="middle" x="245.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">hashing/sha256.cpp</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node2 -->
|
|
<g id="Node000002" class="node">
|
|
<title>Node2</title>
|
|
<g id="a_Node000002"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="37.75,-19.25 0,-19.25 0,0 37.75,0 37.75,-19.25"/>
|
|
<text text-anchor="middle" x="18.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">array</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node2 -->
|
|
<g id="edge1_Node000001_Node000002" class="edge">
|
|
<title>Node1->Node2</title>
|
|
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M200.58,-54.77C162.54,-46.89 106.53,-34.74 49.19,-19.71"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="50.12,-16.33 39.56,-17.15 48.33,-23.1 50.12,-16.33"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node3 -->
|
|
<g id="Node000003" class="node">
|
|
<title>Node3</title>
|
|
<g id="a_Node000003"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="104,-19.25 55.75,-19.25 55.75,0 104,0 104,-19.25"/>
|
|
<text text-anchor="middle" x="79.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node3 -->
|
|
<g id="edge2_Node000001_Node000003" class="edge">
|
|
<title>Node1->Node3</title>
|
|
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M217.72,-54.84C189.38,-45.75 145.6,-31.71 115,-21.89"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="116.41,-18.67 105.82,-18.95 114.27,-25.34 116.41,-18.67"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node4 -->
|
|
<g id="Node000004" class="node">
|
|
<title>Node4</title>
|
|
<g id="a_Node000004"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="167.5,-19.25 122.25,-19.25 122.25,0 167.5,0 167.5,-19.25"/>
|
|
<text text-anchor="middle" x="144.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cstdint</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node4 -->
|
|
<g id="edge3_Node000001_Node000004" class="edge">
|
|
<title>Node1->Node4</title>
|
|
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M228.74,-54.84C213.22,-46.66 190.07,-34.46 172.03,-24.94"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="173.91,-21.98 163.43,-20.41 170.64,-28.17 173.91,-21.98"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node5 -->
|
|
<g id="Node000005" class="node">
|
|
<title>Node5</title>
|
|
<g id="a_Node000005"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="235.75,-19.25 186,-19.25 186,0 235.75,0 235.75,-19.25"/>
|
|
<text text-anchor="middle" x="210.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iomanip</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node5 -->
|
|
<g id="edge4_Node000001_Node000005" class="edge">
|
|
<title>Node1->Node5</title>
|
|
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M240.1,-55.08C235.46,-48.03 228.8,-37.9 223.01,-29.08"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="226.03,-27.31 217.61,-20.87 220.18,-31.15 226.03,-27.31"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node6 -->
|
|
<g id="Node000006" class="node">
|
|
<title>Node6</title>
|
|
<g id="a_Node000006"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="307.62,-19.25 254.12,-19.25 254.12,0 307.62,0 307.62,-19.25"/>
|
|
<text text-anchor="middle" x="280.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node6 -->
|
|
<g id="edge5_Node000001_Node000006" class="edge">
|
|
<title>Node1->Node6</title>
|
|
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M251.65,-55.08C256.29,-48.03 262.95,-37.9 268.74,-29.08"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="271.57,-31.15 274.14,-20.87 265.72,-27.31 271.57,-31.15"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node7 -->
|
|
<g id="Node000007" class="node">
|
|
<title>Node7</title>
|
|
<g id="a_Node000007"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="376.5,-19.25 325.25,-19.25 325.25,0 376.5,0 376.5,-19.25"/>
|
|
<text text-anchor="middle" x="350.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node7 -->
|
|
<g id="edge6_Node000001_Node000007" class="edge">
|
|
<title>Node1->Node7</title>
|
|
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M263.69,-54.84C279.9,-46.62 304.11,-34.34 322.91,-24.81"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="324.29,-28.03 331.63,-20.39 321.12,-21.79 324.29,-28.03"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node8 -->
|
|
<g id="Node000008" class="node">
|
|
<title>Node8</title>
|
|
<g id="a_Node000008"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="433.5,-19.25 394.25,-19.25 394.25,0 433.5,0 433.5,-19.25"/>
|
|
<text text-anchor="middle" x="413.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node8 -->
|
|
<g id="edge7_Node000001_Node000008" class="edge">
|
|
<title>Node1->Node8</title>
|
|
<g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M274.37,-54.84C304.72,-45.22 352.57,-30.06 383.58,-20.23"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="384.27,-23.68 392.74,-17.32 382.15,-17.01 384.27,-23.68"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node9 -->
|
|
<g id="Node000009" class="node">
|
|
<title>Node9</title>
|
|
<g id="a_Node000009"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="494.38,-19.25 451.38,-19.25 451.38,0 494.38,0 494.38,-19.25"/>
|
|
<text text-anchor="middle" x="472.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node9 -->
|
|
<g id="edge8_Node000001_Node000009" class="edge">
|
|
<title>Node1->Node9</title>
|
|
<g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M289.09,-54.83C326.69,-46.79 382.9,-34.39 439.93,-19.91"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="440.67,-23.33 449.49,-17.46 438.94,-16.55 440.67,-23.33"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
|
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
|
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
|
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
|
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
|
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
|
|
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
|
|
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
|
|
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
|
|
</g>
|
|
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
|
<g id="arrow_out" transform="scale(0.3 0.3)">
|
|
<a xlink:href="sha256_8cpp__incl_org.svg" target="_base">
|
|
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
|
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
|
<path id="arrow"
|
|
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
|
style="fill:#404040;"/>
|
|
</a>
|
|
</g>
|
|
</svg>
|
|
|
|
<style type='text/css'>
|
|
<![CDATA[
|
|
[data-mouse-over-selected='false'] { opacity: 0.7; }
|
|
[data-mouse-over-selected='true'] { opacity: 1.0; }
|
|
]]>
|
|
</style>
|
|
<script type="application/ecmascript"><![CDATA[
|
|
document.addEventListener('DOMContentLoaded', (event) => {
|
|
highlightEdges();
|
|
highlightAdjacentNodes();
|
|
});
|
|
]]></script>
|
|
</svg>
|