-- Programme de sécurité pour Manipulateur de carte magnétique (More Peripherals)
-- Auteur : AgenceATX
-- Version : 1.0
-- Liste des identifiants autorisés (à personnaliser)
local authorizedIDs = {
["user123"] = true,
["admin456"] = true,
["guest789"] = true
}
-- Fonctions utilitaires
local function waitForCard()
print("Insérez une carte...")
while not hasCard() do
sleep(0.5)
end
end
local function secureWriteCard(id, label, hideData)
writeCard(id)
setLabel(label or "Sécurisée")
setSecure(hideData or false)
print("Carte écrite et sécurisée.")
end
local function checkCard()
if not hasCard() then
print("Aucune carte détectée.")
return false
end
local data = readCard()
local label = getLabel()
print("Carte détectée : " .. (label or "Sans étiquette"))
print("Données lues : " .. (data or "Vide"))
if authorizedIDs[data] then
print("Accès autorisé ! Bienvenue, " .. label)
return true
else
print("Accès refusé. Carte non reconnue.")
ejectCard()
return false
end
end
-- Menu principal
while true do
print("\n=== Système de Sécurité ===")
print("1. Vérifier une carte")
print("2. Enregistrer une carte")
print("3. Lire le label d'une carte")
print("4. Masquer/afficher l'infobulle des données")
print("5. Quitter")
io.write("Choix : ")
local choix = io.read()
if choix == "1" then
waitForCard()
checkCard()
elseif choix == "2" then
io.write("Entrer l'ID à écrire : ")
local id = io.read()
io.write("Entrer un label : ")
local label = io.read()
io.write("Masquer les données ? (oui/non) : ")
local hide = io.read() == "oui"
waitForCard()
secureWriteCard(id, label, hide)
elseif choix == "3" then
waitForCard()
print("Label de la carte : " .. (getLabel() or "Aucun"))
elseif choix == "4" then
waitForCard()
io.write("Masquer les données ? (oui/non) : ")
local hide = io.read() == "oui"
setSecure(hide)
print("Infobulle mise à jour.")
elseif choix == "5" then
print("Arrêt du programme.")
break
else
print("Choix invalide.")
end
end