# devalous17/cybersec_script_labexercise_midterm architecture

> Architecture diagram of the GitHub repository devalous17/cybersec_script_labexercise_midterm, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/devalous17/cybersec_script_labexercise_midterm
- Repository: https://github.com/devalous17/cybersec_script_labexercise_midterm

## Overview

This repository is a small collection of command-line hash-search scripts, not a general-purpose application. Each script searches candidate passwords and round counts for a hard-coded target, then reports a match or failure. The JavaScript searches call CyberChef; the Python script uses hashlib for its D3 search and also prints claimed D1/D5 results. No README documentation is present, so the map reflects the supplied source only.

Main entry points: [`d1_search.mjs`](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d1_search.mjs) (D1 search), [`d2_search.mjs`](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d2_search.mjs) (D2 search), [`d3_search.mjs`](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d3_search.mjs) (D3 search), [`d4_search.mjs`](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d4_search.mjs) (D4 search)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("Script runner"))
node_d1["D1 search<br/>[d1_search.mjs]"]
node_d2["D2 search<br/>[d2_search.mjs]"]
node_d3["D3 search<br/>[d3_search.mjs]"]
node_d4["D4 search<br/>[d4_search.mjs]"]
node_d5["D5 search<br/>[d5_search.mjs]"]
node_python["D1/D3/D5 report<br/>[d4_cracker.py]"]
node_cyberchef["CyberChef"]
node_hashlib["Python hashlib"]

node_user -->|"runs"| node_d1
node_user -->|"runs"| node_d2
node_user -->|"runs"| node_d3
node_user -->|"runs"| node_d4
node_user -->|"runs"| node_d5
node_user -->|"runs"| node_python
node_d1 -->|"computes hashes"| node_cyberchef
node_d2 -->|"computes hashes"| node_cyberchef
node_d3 -->|"computes hashes"| node_cyberchef
node_d4 -->|"computes hashes"| node_cyberchef
node_d5 -->|"computes hashes"| node_cyberchef
node_python -->|"computes hashes"| node_hashlib

click node_d1 "https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d1_search.mjs"
click node_d2 "https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d2_search.mjs"
click node_d3 "https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d3_search.mjs"
click node_d4 "https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d4_search.mjs"
click node_d5 "https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d5_search.mjs"
click node_python "https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d4_cracker.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_user,node_cyberchef,node_hashlib toneIndigo
class node_d1,node_d2,node_d3,node_d4,node_d5,node_python toneTeal
```

## Components

### Other components

- **Script runner**
- [D1 search](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d1_search.mjs): `d1_search.mjs`
- [D2 search](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d2_search.mjs): `d2_search.mjs`
- [D3 search](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d3_search.mjs): `d3_search.mjs`
- [D4 search](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d4_search.mjs): `d4_search.mjs`
- [D5 search](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d5_search.mjs): `d5_search.mjs`
- [D1/D3/D5 report](https://github.com/devalous17/cybersec_script_labexercise_midterm/blob/master/d4_cracker.py): `d4_cracker.py`
- **CyberChef**
- **Python hashlib**

## Connections

- Script runner → D1 search: runs
- Script runner → D2 search: runs
- Script runner → D3 search: runs
- Script runner → D4 search: runs
- Script runner → D5 search: runs
- Script runner → D1/D3/D5 report: runs
- D1 search → CyberChef: computes hashes
- D2 search → CyberChef: computes hashes
- D3 search → CyberChef: computes hashes
- D4 search → CyberChef: computes hashes
- D5 search → CyberChef: computes hashes
- D1/D3/D5 report → Python hashlib: computes hashes
