2023-03-20 18:57:25 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.2.6-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 757 440"><svg id="d2-svg" class="d2-2685370868" width="757" height="440" viewBox="11 11 757 440"><rect x="11.000000" y="11.000000" width="757.000000" height="440.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
2023-03-12 01:22:26 +00:00
|
|
|
.d2-2685370868 .text-bold {
|
|
|
|
|
font-family: "d2-2685370868-font-bold";
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
|
|
|
|
@font-face {
|
2023-03-12 01:22:26 +00:00
|
|
|
font-family: d2-2685370868-font-bold;
|
2023-03-28 02:19:12 +00:00
|
|
|
src: url("data:application/font-woff;base64,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
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
2023-03-12 01:22:26 +00:00
|
|
|
.d2-2685370868 .text-mono {
|
|
|
|
|
font-family: "d2-2685370868-font-mono";
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
|
|
|
|
@font-face {
|
2023-03-12 01:22:26 +00:00
|
|
|
font-family: d2-2685370868-font-mono;
|
2023-03-28 02:19:12 +00:00
|
|
|
src: url("data:application/font-woff;base64,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
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
2023-03-12 01:22:26 +00:00
|
|
|
.d2-2685370868 .text-mono-bold {
|
|
|
|
|
font-family: "d2-2685370868-font-mono-bold";
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
|
|
|
|
@font-face {
|
2023-03-12 01:22:26 +00:00
|
|
|
font-family: d2-2685370868-font-mono-bold;
|
2023-03-28 02:19:12 +00:00
|
|
|
src: url("data:application/font-woff;base64,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
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
2023-03-12 01:22:26 +00:00
|
|
|
.d2-2685370868 .text-mono-italic {
|
|
|
|
|
font-family: "d2-2685370868-font-mono-italic";
|
2023-02-21 08:33:13 +00:00
|
|
|
}
|
|
|
|
|
@font-face {
|
2023-03-12 01:22:26 +00:00
|
|
|
font-family: d2-2685370868-font-mono-italic;
|
2023-03-28 02:19:12 +00:00
|
|
|
src: url("data:application/font-woff;base64,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
|
2023-02-21 08:33:13 +00:00
|
|
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
2023-02-19 19:34:42 +00:00
|
|
|
shape-rendering: geometricPrecision;
|
|
|
|
|
stroke-linejoin: round;
|
|
|
|
|
}
|
|
|
|
|
.connection {
|
|
|
|
|
stroke-linecap: round;
|
|
|
|
|
stroke-linejoin: round;
|
|
|
|
|
}
|
|
|
|
|
.blend {
|
|
|
|
|
mix-blend-mode: multiply;
|
|
|
|
|
opacity: 0.5;
|
|
|
|
|
}
|
2023-03-12 01:22:26 +00:00
|
|
|
|
|
|
|
|
.d2-2685370868 .fill-N1{fill:#0A0F25;}
|
|
|
|
|
.d2-2685370868 .fill-N2{fill:#676C7E;}
|
|
|
|
|
.d2-2685370868 .fill-N3{fill:#9499AB;}
|
|
|
|
|
.d2-2685370868 .fill-N4{fill:#CFD2DD;}
|
|
|
|
|
.d2-2685370868 .fill-N5{fill:#DEE1EB;}
|
|
|
|
|
.d2-2685370868 .fill-N6{fill:#EEF1F8;}
|
|
|
|
|
.d2-2685370868 .fill-N7{fill:#FFFFFF;}
|
|
|
|
|
.d2-2685370868 .fill-B1{fill:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .fill-B2{fill:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .fill-B3{fill:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .fill-B4{fill:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .fill-B5{fill:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .fill-B6{fill:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .fill-AA2{fill:#4A6FF3;}
|
|
|
|
|
.d2-2685370868 .fill-AA4{fill:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .fill-AA5{fill:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .fill-AB4{fill:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .fill-AB5{fill:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .stroke-N1{stroke:#0A0F25;}
|
|
|
|
|
.d2-2685370868 .stroke-N2{stroke:#676C7E;}
|
|
|
|
|
.d2-2685370868 .stroke-N3{stroke:#9499AB;}
|
|
|
|
|
.d2-2685370868 .stroke-N4{stroke:#CFD2DD;}
|
|
|
|
|
.d2-2685370868 .stroke-N5{stroke:#DEE1EB;}
|
|
|
|
|
.d2-2685370868 .stroke-N6{stroke:#EEF1F8;}
|
|
|
|
|
.d2-2685370868 .stroke-N7{stroke:#FFFFFF;}
|
|
|
|
|
.d2-2685370868 .stroke-B1{stroke:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .stroke-B2{stroke:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .stroke-B3{stroke:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .stroke-B4{stroke:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .stroke-B5{stroke:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .stroke-B6{stroke:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .stroke-AA2{stroke:#4A6FF3;}
|
|
|
|
|
.d2-2685370868 .stroke-AA4{stroke:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .stroke-AA5{stroke:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .stroke-AB4{stroke:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .stroke-AB5{stroke:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .background-color-N1{background-color:#0A0F25;}
|
|
|
|
|
.d2-2685370868 .background-color-N2{background-color:#676C7E;}
|
|
|
|
|
.d2-2685370868 .background-color-N3{background-color:#9499AB;}
|
|
|
|
|
.d2-2685370868 .background-color-N4{background-color:#CFD2DD;}
|
|
|
|
|
.d2-2685370868 .background-color-N5{background-color:#DEE1EB;}
|
|
|
|
|
.d2-2685370868 .background-color-N6{background-color:#EEF1F8;}
|
|
|
|
|
.d2-2685370868 .background-color-N7{background-color:#FFFFFF;}
|
|
|
|
|
.d2-2685370868 .background-color-B1{background-color:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .background-color-B2{background-color:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .background-color-B3{background-color:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .background-color-B4{background-color:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .background-color-B5{background-color:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .background-color-B6{background-color:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .background-color-AA2{background-color:#4A6FF3;}
|
|
|
|
|
.d2-2685370868 .background-color-AA4{background-color:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .background-color-AA5{background-color:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .background-color-AB4{background-color:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .background-color-AB5{background-color:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .color-N1{color:#0A0F25;}
|
|
|
|
|
.d2-2685370868 .color-N2{color:#676C7E;}
|
|
|
|
|
.d2-2685370868 .color-N3{color:#9499AB;}
|
|
|
|
|
.d2-2685370868 .color-N4{color:#CFD2DD;}
|
|
|
|
|
.d2-2685370868 .color-N5{color:#DEE1EB;}
|
|
|
|
|
.d2-2685370868 .color-N6{color:#EEF1F8;}
|
|
|
|
|
.d2-2685370868 .color-N7{color:#FFFFFF;}
|
|
|
|
|
.d2-2685370868 .color-B1{color:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .color-B2{color:#0D32B2;}
|
|
|
|
|
.d2-2685370868 .color-B3{color:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .color-B4{color:#E3E9FD;}
|
|
|
|
|
.d2-2685370868 .color-B5{color:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .color-B6{color:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .color-AA2{color:#4A6FF3;}
|
|
|
|
|
.d2-2685370868 .color-AA4{color:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .color-AA5{color:#F7F8FE;}
|
|
|
|
|
.d2-2685370868 .color-AB4{color:#EDF0FD;}
|
|
|
|
|
.d2-2685370868 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="hey"><g class="shape" ></g><g transform="translate(12.000000 148.000000)" class="light-code"><rect width="755.000000" height="166.000000" class="shape stroke-N1" style="fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#999988" class="text-mono-italic">// RegisterHash registers a function that returns a new instance of the given
|
2023-01-29 22:17:34 +00:00
|
|
|
</tspan></text><text class="text-mono" x="0" y="2.000000em" xml:space="preserve"><tspan fill="#999988" class="text-mono-italic"></tspan><tspan fill="#999988" class="text-mono-italic">// hash function. This is intended to be called from the init function in
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="3.000000em" xml:space="preserve"><tspan fill="#999988" class="text-mono-italic"></tspan><tspan fill="#999988" class="text-mono-italic">// packages that implement hash functions.
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="4.000000em" xml:space="preserve"><tspan fill="#999988" class="text-mono-italic"></tspan><tspan fill="#000000" class="text-mono-bold">func</tspan> <tspan fill="#990000" class="text-mono-bold">RegisterHash</tspan>(h Hash, f <tspan fill="#000000" class="text-mono-bold">func</tspan>() hash.Hash) {
|
|
|
|
|
</text><text class="text-mono" x="0" y="5.000000em" xml:space="preserve">    <tspan fill="#000000" class="text-mono-bold">if</tspan> h <tspan fill="#000000" class="text-mono-bold">>=</tspan> maxHash {
|
2023-01-27 21:30:44 +00:00
|
|
|
</text><text class="text-mono" x="0" y="6.000000em" xml:space="preserve">        <tspan fill="#0086b3">panic</tspan>(<tspan fill="#dd1144">"crypto: RegisterHash of unknown hash function"</tspan>)
|
|
|
|
|
</text><text class="text-mono" x="0" y="7.000000em" xml:space="preserve">    }
|
|
|
|
|
</text><text class="text-mono" x="0" y="8.000000em" xml:space="preserve">    hashes[h] = f
|
2023-03-04 05:02:02 +00:00
|
|
|
</text><text class="text-mono" x="0" y="9.000000em" xml:space="preserve">}</text></g></g><g transform="translate(12.000000 148.000000)" class="dark-code"><rect width="755.000000" height="166.000000" class="shape stroke-N1" style="fill:#1e1e2e" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#585b70" class="text-mono-italic">// RegisterHash registers a function that returns a new instance of the given
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="2.000000em" xml:space="preserve"><tspan fill="#585b70" class="text-mono-italic"></tspan><tspan fill="#585b70" class="text-mono-italic">// hash function. This is intended to be called from the init function in
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="3.000000em" xml:space="preserve"><tspan fill="#585b70" class="text-mono-italic"></tspan><tspan fill="#585b70" class="text-mono-italic">// packages that implement hash functions.
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="4.000000em" xml:space="preserve"><tspan fill="#585b70" class="text-mono-italic"></tspan><tspan fill="#cba6f7">func</tspan><tspan fill="#fab387"> </tspan><tspan fill="#89dceb">RegisterHash</tspan><tspan fill="#cdd6f4">(</tspan><tspan fill="#fab387">h</tspan><tspan fill="#fab387"> </tspan><tspan fill="#fab387">Hash</tspan><tspan fill="#cdd6f4">,</tspan><tspan fill="#fab387"> </tspan><tspan fill="#fab387">f</tspan><tspan fill="#fab387"> </tspan><tspan fill="#cba6f7">func</tspan><tspan fill="#cdd6f4">(</tspan><tspan fill="#cdd6f4">)</tspan><tspan fill="#fab387"> </tspan><tspan fill="#fab387">hash</tspan><tspan fill="#cdd6f4">.</tspan><tspan fill="#fab387">Hash</tspan><tspan fill="#cdd6f4">)</tspan><tspan fill="#fab387"> </tspan><tspan fill="#cdd6f4">{</tspan><tspan fill="#fab387">
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="5.000000em" xml:space="preserve"><tspan fill="#fab387"></tspan><tspan fill="#fab387">    </tspan><tspan fill="#cba6f7">if</tspan><tspan fill="#fab387"> </tspan><tspan fill="#fab387">h</tspan><tspan fill="#fab387"> </tspan><tspan fill="#89dceb">>=</tspan><tspan fill="#fab387"> </tspan><tspan fill="#fab387">maxHash</tspan><tspan fill="#fab387"> </tspan><tspan fill="#cdd6f4">{</tspan><tspan fill="#fab387">
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="6.000000em" xml:space="preserve"><tspan fill="#fab387"></tspan><tspan fill="#fab387">        </tspan><tspan fill="#fab387" class="text-mono-italic">panic</tspan><tspan fill="#cdd6f4">(</tspan><tspan fill="#a6e3a1">"crypto: RegisterHash of unknown hash function"</tspan><tspan fill="#cdd6f4">)</tspan><tspan fill="#fab387">
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="7.000000em" xml:space="preserve"><tspan fill="#fab387"></tspan><tspan fill="#fab387">    </tspan><tspan fill="#cdd6f4">}</tspan><tspan fill="#fab387">
|
|
|
|
|
</tspan></text><text class="text-mono" x="0" y="8.000000em" xml:space="preserve"><tspan fill="#fab387"></tspan><tspan fill="#fab387">    </tspan><tspan fill="#fab387">hashes</tspan><tspan fill="#cdd6f4">[</tspan><tspan fill="#fab387">h</tspan><tspan fill="#cdd6f4">]</tspan><tspan fill="#fab387"> </tspan><tspan fill="#cdd6f4">=</tspan><tspan fill="#fab387"> </tspan><tspan fill="#fab387">f</tspan><tspan fill="#fab387">
|
2023-03-12 01:22:26 +00:00
|
|
|
</tspan></text><text class="text-mono" x="0" y="9.000000em" xml:space="preserve"><tspan fill="#fab387"></tspan><tspan fill="#cdd6f4">}</tspan></text></g></g></g><g id="x"><g class="shape" ><rect x="363.000000" y="12.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="389.500000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y"><g class="shape" ><rect x="362.000000" y="384.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="389.000000" y="422.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">y</text></g><g id="(x -> hey)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 389.500000 80.000000 L 389.500000 144.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-2685370868)" /></g><g id="(hey -> y)[0]"><path d="M 389.500000 316.000000 L 389.500000 380.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-2685370868)" /></g><mask id="d2-2685370868" maskUnits="userSpaceOnUse" x="11" y="11" width="757" height="440">
|
2023-02-26 19:41:50 +00:00
|
|
|
<rect x="11" y="11" width="757" height="440" fill="white"></rect>
|
2023-01-27 21:30:44 +00:00
|
|
|
|
2023-01-26 21:17:54 +00:00
|
|
|
</mask></svg></svg>
|