This commit is contained in:
@@ -12,15 +12,17 @@
|
|||||||
|
|
||||||
<nav class="navbar">
|
<nav class="navbar">
|
||||||
<a href="index.html" class="nav-brand">
|
<a href="index.html" class="nav-brand">
|
||||||
<img src="seal1.png" alt="🦭"onerror="this.style.display='none'; this.nextElementSibling.style.display='inline';">
|
<img src="seal1.png" height="80" alt="🦭">
|
||||||
<span style="display:none;"><img src="seal1.png" alt="🦭"></span> CryptoSeals
|
CryptoSeals
|
||||||
</a>
|
</a>
|
||||||
<ul class="nav-links">
|
<div class="menu-toggle" onclick="toggleMenu()">
|
||||||
<li><a href="rsa.html">Algoritmo RSA</a></li>
|
<i class="fa-solid fa-bars"></i>
|
||||||
<li><a href="cesare.html">Cesare</a></li>
|
</div>
|
||||||
<li><a href="vigenere.html">Vigenère</a></li>
|
<ul class="nav-links" id="nav-links">
|
||||||
<li><a href="storia.html">La Storia</a></li>
|
<li><a href="rsa.html"><i class="fa-solid fa-key"></i> RSA</a></li>
|
||||||
<li><a href="team.html">Il Team</a></li>
|
<li><a href="cesare.html"><i class="fa-solid fa-arrow-right-arrow-left"></i> Cesare</a></li>
|
||||||
|
<li><a href="vigenere.html"><i class="fa-solid fa-table"></i> Vigenère</a></li>
|
||||||
|
<li><a href="team.html"><i class="fa-solid fa-users"></i> Il Team</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@@ -47,5 +49,12 @@
|
|||||||
<textarea id="testoDecifrato" readonly placeholder="Il messaggio originale tornerà qui..."></textarea>
|
<textarea id="testoDecifrato" readonly placeholder="Il messaggio originale tornerà qui..."></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
<div class="copyright">
|
||||||
|
<a href="/privacy-policy/">Privacy Policy</a> |
|
||||||
|
<a href="#"><i class="fa-brands fa-github"></i> GitHub</a> <br><br>
|
||||||
|
© <span id="year"></span> CryptoSeals Team
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,30 +1,37 @@
|
|||||||
async function encrypt() {
|
async function encrypt() {
|
||||||
const plaintext = document.getElementById("plaintext").value;
|
const plaintext = document.getElementById("plaintext").value;
|
||||||
const key = document.getElementById("key").value;
|
const key = document.getElementById("key").value;
|
||||||
|
|
||||||
if(!plaintext) return alert("Inserisci del testo!");
|
if (!plaintext) return alert("Inserisci del testo!");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const risposta = await fetch("/seal/cesare/encrypt", {
|
const risposta = await fetch("/seal/cesare/encrypt", {
|
||||||
method: "POST", headers: { "Content-Type": "application/json" },
|
method: "POST", headers: { "Content-Type": "application/json" },
|
||||||
// Invia il testo e la chiave (convertita in numero) al server
|
// Invia il testo e la chiave (convertita in numero) al server
|
||||||
body: JSON.stringify({ plaintext: plaintext, key: parseInt(key) })
|
body: JSON.stringify({ plaintext: plaintext, key: parseInt(key) })
|
||||||
});
|
});
|
||||||
document.getElementById("ciphertext").value = await risposta.text();
|
document.getElementById("ciphertext").value = await risposta.text();
|
||||||
} catch (e) { alert("Errore di connessione con le API di Cesare!"); }
|
} catch (e) { alert("Errore di connessione con le API di Cesare!"); }
|
||||||
}
|
}
|
||||||
|
|
||||||
async function decrypt() {
|
async function decrypt() {
|
||||||
const ciphertext = document.getElementById("ciphertext").value;
|
const ciphertext = document.getElementById("ciphertext").value;
|
||||||
const key = document.getElementById("key").value;
|
const key = document.getElementById("key").value;
|
||||||
|
|
||||||
if(!ciphertext) return alert("Nessun testo da decifrare!");
|
if (!ciphertext) return alert("Nessun testo da decifrare!");
|
||||||
try {
|
try {
|
||||||
const res = await fetch("/seal/cesare/decrypt", {
|
const res = await fetch("/seal/cesare/decrypt", {
|
||||||
method: "POST", headers: { "Content-Type": "application/json" },
|
method: "POST", headers: { "Content-Type": "application/json" },
|
||||||
body: JSON.stringify({ testo: ciphertext, chiave: parseInt(key) })
|
body: JSON.stringify({ testo: ciphertext, chiave: parseInt(key) })
|
||||||
});
|
});
|
||||||
// TODO: SISTEMARE IL SISTEMA DI DECIFRATURA !!
|
// TODO: SISTEMARE IL SISTEMA DI DECIFRATURA !!
|
||||||
document.getElementById("testoDecifrato").value = await res.text();
|
document.getElementById("testoDecifrato").value = await res.text();
|
||||||
} catch (e) { alert("Errore di connessione!"); }
|
} catch (e) { alert("Errore di connessione!"); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestione Menu Mobile
|
||||||
|
function toggleMenu() {
|
||||||
|
document.getElementById("nav-links").classList.toggle("active");
|
||||||
|
}
|
||||||
|
// Anno dinamico Footer
|
||||||
|
document.getElementById("year").innerText = new Date().getFullYear();
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<nav class="navbar">
|
<nav class="navbar">
|
||||||
<a href="index.html" class="nav-brand">
|
<a href="index.html" class="nav-brand">
|
||||||
<img src="seal1.png" height="50" alt="🦭">
|
<img src="seal1.png" height="80" alt="🦭">
|
||||||
CryptoSeals
|
CryptoSeals
|
||||||
</a>
|
</a>
|
||||||
<div class="menu-toggle" onclick="toggleMenu()">
|
<div class="menu-toggle" onclick="toggleMenu()">
|
||||||
|
|||||||
@@ -10,14 +10,17 @@
|
|||||||
|
|
||||||
<nav class="navbar">
|
<nav class="navbar">
|
||||||
<a href="index.html" class="nav-brand">
|
<a href="index.html" class="nav-brand">
|
||||||
<span><img src="seal1.png" height="80"onerror="this.style.display='none'; this.nextElementSibling.style.display='inline';"></span> CryptoSeals
|
<img src="seal1.png" height="80" alt="🦭">
|
||||||
|
CryptoSeals
|
||||||
</a>
|
</a>
|
||||||
<ul class="nav-links">
|
<div class="menu-toggle" onclick="toggleMenu()">
|
||||||
<li><a href="rsa.html" class="active">Algoritmo RSA</a></li>
|
<i class="fa-solid fa-bars"></i>
|
||||||
<li><a href="cesare.html">Cesare</a></li>
|
</div>
|
||||||
<li><a href="vigenere.html">Vigenère</a></li>
|
<ul class="nav-links" id="nav-links">
|
||||||
<li><a href="storia.html">La Storia</a></li>
|
<li><a href="rsa.html"><i class="fa-solid fa-key"></i> RSA</a></li>
|
||||||
<li><a href="team.html">Il Team</a></li>
|
<li><a href="cesare.html"><i class="fa-solid fa-arrow-right-arrow-left"></i> Cesare</a></li>
|
||||||
|
<li><a href="vigenere.html"><i class="fa-solid fa-table"></i> Vigenère</a></li>
|
||||||
|
<li><a href="team.html"><i class="fa-solid fa-users"></i> Il Team</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@@ -57,5 +60,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
<div class="copyright">
|
||||||
|
<a href="/privacy-policy/">Privacy Policy</a> |
|
||||||
|
<a href="#"><i class="fa-brands fa-github"></i> GitHub</a> <br><br>
|
||||||
|
© <span id="year"></span> CryptoSeals Team
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -30,3 +30,10 @@ async function decrypt() {
|
|||||||
document.getElementById("decodedtext").value = await res.text();
|
document.getElementById("decodedtext").value = await res.text();
|
||||||
} catch (e) { alert("Impossibile connettersi al server."); }
|
} catch (e) { alert("Impossibile connettersi al server."); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestione Menu Mobile
|
||||||
|
function toggleMenu() {
|
||||||
|
document.getElementById("nav-links").classList.toggle("active");
|
||||||
|
}
|
||||||
|
// Anno dinamico Footer
|
||||||
|
document.getElementById("year").innerText = new Date().getFullYear();
|
||||||
|
|||||||
98
backend/src/main/resources/get/team.html
Normal file
98
backend/src/main/resources/get/team.html
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="it">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>CryptoSeals - Il Team</title>
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
<style>
|
||||||
|
/* Stili speciali solo per le card del team */
|
||||||
|
.team-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 30px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-card {
|
||||||
|
background: white;
|
||||||
|
padding: 30px 20px;
|
||||||
|
border-radius: 15px;
|
||||||
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
|
||||||
|
width: 250px;
|
||||||
|
text-align: center;
|
||||||
|
transition: transform 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-card:hover {
|
||||||
|
transform: translateY(-10px);
|
||||||
|
/* Effetto sollevamento al passaggio del mouse */
|
||||||
|
box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
font-size: 60px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ruolo {
|
||||||
|
color: #3498db;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar">
|
||||||
|
<a href="index.html" class="nav-brand">
|
||||||
|
<img src="seal1.png" height="80" alt="🦭">
|
||||||
|
CryptoSeals
|
||||||
|
</a>
|
||||||
|
<div class="menu-toggle" onclick="toggleMenu()">
|
||||||
|
<i class="fa-solid fa-bars"></i>
|
||||||
|
</div>
|
||||||
|
<ul class="nav-links" id="nav-links">
|
||||||
|
<li><a href="rsa.html"><i class="fa-solid fa-key"></i> RSA</a></li>
|
||||||
|
<li><a href="cesare.html"><i class="fa-solid fa-arrow-right-arrow-left"></i> Cesare</a></li>
|
||||||
|
<li><a href="vigenere.html"><i class="fa-solid fa-table"></i> Vigenère</a></li>
|
||||||
|
<li><a href="team.html"><i class="fa-solid fa-users"></i> Il Team</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1>Il Team CryptoSeals</h1>
|
||||||
|
<p class="descrizione">Siamo un gruppo di sviluppatori appassionati di sicurezza informatica e algoritmi
|
||||||
|
storici. Ecco le menti dietro al progetto.</p>
|
||||||
|
|
||||||
|
<div class="team-container">
|
||||||
|
<div class="team-card">
|
||||||
|
<div class="avatar">👨💻</div>
|
||||||
|
<h2>Elisabetta Raione</h2>
|
||||||
|
<p class="ruolo">Lead Developer Java & Web</p>
|
||||||
|
<p style="color: #777; font-size: 14px;">Si occupa dell'architettura del server Javalin e
|
||||||
|
dell'integrazione con il frontend.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="team-card">
|
||||||
|
<div class="avatar">🕵️♂️</div>
|
||||||
|
<h2>Manuela Mango</h2>
|
||||||
|
<p class="ruolo">Esperto Crittografia</p>
|
||||||
|
<p style="color: #777; font-size: 14px;">Specializzato nell'implementazione matematica degli algoritmi
|
||||||
|
RSA e Vigenère.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="copyright">
|
||||||
|
<a href="/privacy-policy/">Privacy Policy</a> |
|
||||||
|
<a href="#"><i class="fa-brands fa-github"></i> GitHub</a> <br><br>
|
||||||
|
© <span id="year"></span> CryptoSeals Team
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
6
backend/src/main/resources/get/team.js
Normal file
6
backend/src/main/resources/get/team.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
// Gestione Menu Mobile
|
||||||
|
function toggleMenu() {
|
||||||
|
document.getElementById("nav-links").classList.toggle("active");
|
||||||
|
}
|
||||||
|
// Anno dinamico Footer
|
||||||
|
document.getElementById("year").innerText = new Date().getFullYear();
|
||||||
Reference in New Issue
Block a user