<svg width="400" height="400" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
  <rect width="400" height="400" fill="#f3f4f6"/>

  <!-- Lock/Security Icon -->
  <g transform="translate(150, 40)">
    <circle cx="50" cy="50" r="45" fill="#dbeafe" stroke="#3b82f6" stroke-width="3"/>
    <path d="M 50 30 L 50 45 M 35 45 L 65 45 L 65 70 L 35 70 Z" stroke="#3b82f6" stroke-width="3" fill="#3b82f6" opacity="0.3"/>
    <rect x="35" y="45" width="30" height="25" rx="2" fill="#3b82f6"/>
    <circle cx="50" cy="57" r="3" fill="white"/>
    <line x1="50" y1="60" x2="50" y2="65" stroke="white" stroke-width="2"/>
  </g>

  <!-- Input Text Box -->
  <g transform="translate(30, 130)">
    <rect x="0" y="0" width="160" height="80" rx="8" fill="white" stroke="#d1d5db" stroke-width="2"/>
    <text x="10" y="20" font-family="system-ui" font-size="10" fill="#6b7280" font-weight="600">Input Text</text>
    <text x="10" y="40" font-family="monospace" font-size="11" fill="#1f2937">Hello World</text>
    <text x="10" y="55" font-family="monospace" font-size="11" fill="#1f2937">Password123</text>
    <text x="10" y="70" font-family="monospace" font-size="11" fill="#1f2937">Secret Key</text>
  </g>

  <!-- Arrow -->
  <g transform="translate(195, 170)">
    <line x1="0" y1="0" x2="35" y2="0" stroke="#3b82f6" stroke-width="3" marker-end="url(#arrowhead)"/>
    <text x="5" y="-5" font-family="system-ui" font-size="10" fill="#3b82f6" font-weight="600">HASH</text>
  </g>

  <!-- Arrow marker -->
  <defs>
    <marker id="arrowhead" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto">
      <polygon points="0 0, 10 3, 0 6" fill="#3b82f6"/>
    </marker>
  </defs>

  <!-- Hash Output Box -->
  <g transform="translate(235, 130)">
    <rect x="0" y="0" width="135" height="80" rx="8" fill="white" stroke="#10b981" stroke-width="2"/>
    <text x="10" y="20" font-family="system-ui" font-size="10" fill="#047857" font-weight="600">Hash Output</text>
    <text x="10" y="38" font-family="monospace" font-size="8" fill="#065f46">a591a6d4...</text>
    <text x="10" y="50" font-family="monospace" font-size="8" fill="#065f46">bf21a9e8...</text>
    <text x="10" y="62" font-family="monospace" font-size="8" fill="#065f46">fd33f1df...</text>
    <circle cx="120" cy="70" r="8" fill="#10b981"/>
    <path d="M 116 70 L 118 72 L 124 66" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
  </g>

  <!-- Algorithm Badges -->
  <g transform="translate(50, 230)">
    <rect x="0" y="0" width="70" height="30" rx="6" fill="#dbeafe" stroke="#3b82f6" stroke-width="2"/>
    <text x="35" y="20" text-anchor="middle" font-family="system-ui" font-size="12" fill="#1e40af" font-weight="600">MD5</text>
  </g>

  <g transform="translate(130, 230)">
    <rect x="0" y="0" width="70" height="30" rx="6" fill="#ddd6fe" stroke="#8b5cf6" stroke-width="2"/>
    <text x="35" y="20" text-anchor="middle" font-family="system-ui" font-size="12" fill="#5b21b6" font-weight="600">SHA-1</text>
  </g>

  <g transform="translate(210, 230)">
    <rect x="0" y="0" width="80" height="30" rx="6" fill="#d1fae5" stroke="#10b981" stroke-width="2"/>
    <text x="40" y="20" text-anchor="middle" font-family="system-ui" font-size="12" fill="#047857" font-weight="600">SHA-256</text>
  </g>

  <g transform="translate(300, 230)">
    <rect x="0" y="0" width="80" height="30" rx="6" fill="#fef3c7" stroke="#f59e0b" stroke-width="2"/>
    <text x="40" y="20" text-anchor="middle" font-family="system-ui" font-size="12" fill="#92400e" font-weight="600">SHA-512</text>
  </g>

  <!-- Feature Icons -->
  <g transform="translate(60, 280)">
    <!-- Text Hash Icon -->
    <circle cx="0" cy="0" r="20" fill="#dbeafe" stroke="#3b82f6" stroke-width="2"/>
    <text x="0" y="5" text-anchor="middle" font-family="system-ui" font-size="16" fill="#1e40af" font-weight="600">T</text>
    <text x="0" y="35" text-anchor="middle" font-family="system-ui" font-size="9" fill="#6b7280">Text</text>
  </g>

  <g transform="translate(140, 280)">
    <!-- File Hash Icon -->
    <circle cx="0" cy="0" r="20" fill="#ddd6fe" stroke="#8b5cf6" stroke-width="2"/>
    <rect x="-8" y="-8" width="16" height="16" rx="2" fill="#5b21b6"/>
    <line x1="-5" y1="-3" x2="5" y2="-3" stroke="white" stroke-width="1.5"/>
    <line x1="-5" y1="0" x2="5" y2="0" stroke="white" stroke-width="1.5"/>
    <line x1="-5" y1="3" x2="3" y2="3" stroke="white" stroke-width="1.5"/>
    <text x="0" y="35" text-anchor="middle" font-family="system-ui" font-size="9" fill="#6b7280">File</text>
  </g>

  <g transform="translate(220, 280)">
    <!-- HMAC Icon -->
    <circle cx="0" cy="0" r="20" fill="#d1fae5" stroke="#10b981" stroke-width="2"/>
    <text x="0" y="5" text-anchor="middle" font-family="system-ui" font-size="14" fill="#047857" font-weight="600">K</text>
    <text x="0" y="35" text-anchor="middle" font-family="system-ui" font-size="9" fill="#6b7280">HMAC</text>
  </g>

  <g transform="translate(300, 280)">
    <!-- Verify Icon -->
    <circle cx="0" cy="0" r="20" fill="#fef3c7" stroke="#f59e0b" stroke-width="2"/>
    <circle cx="0" cy="0" r="10" fill="none" stroke="#92400e" stroke-width="2"/>
    <path d="M -3 0 L -1 2 L 4 -3" stroke="#92400e" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
    <text x="0" y="35" text-anchor="middle" font-family="system-ui" font-size="9" fill="#6b7280">Verify</text>
  </g>

  <!-- Binary/Hex Pattern Background -->
  <g opacity="0.1">
    <text x="20" y="360" font-family="monospace" font-size="8" fill="#1f2937">01101000 01100001 01110011 01101000</text>
    <text x="30" y="375" font-family="monospace" font-size="8" fill="#1f2937">a1b2c3d4 e5f6a7b8 c9d0e1f2</text>
    <text x="40" y="390" font-family="monospace" font-size="8" fill="#1f2937">3a4b5c6d 7e8f9a0b 1c2d3e4f</text>
  </g>

  <text x="200" y="345" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="600" fill="#1f2937">Hash Generator</text>
</svg>
