CCCPaste

sécurité avec le manipulateur de carte magnet...

-- 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