Discussione Correlazione tra blocchi

Peppe8niello

Utente Iron
3 Maggio 2020
10
2
0
12
Ciao ragazzi, scusate i termini ma non so bene come si definisce la cosa...mettiamo che abbia una scheda rfid che ha una scadenza mensile e mettiamo io abbia le schede degli ultimi 3-4 mesi e riesca a capire qual'è il blocco che ha il codice che contiene la data della chiavetta (o il lotto) esiste un programma che, inseriti almeno 3 codici mi faccia una comparazione e mi indichi qual'è la sequenza per il mese successivo o che regola seguono?E' una curiosità che mi è venuta, ad esempio sui testi io uso notepad++ per verificare le differenze tra 2 testi simili, avrei bisogno di fare la stessa cosa ma almeno su 3 codici(per avere la certezza) e poter capire qual'è l'intervallo esatto tra lo stesso blocco delle 3 chiavette di mesi differenti..(per kali, windows o app android, va sempre bene...)

Spero di essermi spiegato..

Grazie per l'aiuto!
 
Ciao,
innanzitutto secondo me questo tuo problema/dubbio è un po’ troppo specifico, nel senso che il software che stai cercando probabilmente non esiste in commercio/su internet ma ti conviene programmarlo secondo le tue esigenze. Non so quanto sia legale quanto vuoi fare, soprattutto se hai pagato quelle tessere e non hai il permesso esplicito di chi eroga il servizio. In ogni caso dovresti estrapolare dalle tessere RFID i blocchi. Puoi utilizzare un arduino con un lettore di tessere RFID (ho basato un progetto scolastico sul funzionamento del RFID usando un lettore RC522, ma dovevo ancora implementare la lettura a blocchi, eventualmente ti linkerò la repository) per ottenere ciò che ti serve, ma comunque avresti molti byte/bit e dovresti svolgere uno studio dei vari pattern sperando di trovare un riscontro. Anche se dovessi trovare dei riscontri come caratteri sempre presenti negli stessi posti, dubito che potresti ottenere ciò che vuoi dato l’elevato numero di combinazioni possibili: tieni conto poi che dovresti, per ogni tentativo, riscrivere il blocco con il nuovo codice sperando che funzioni.
Spero di essermi spiegato, buona serata!
 
Ciao Manuel, grazie per la risposta, no, tranquillo, niente di illegale, sono tessere che ho in giro dell'anno scorso e non abilitano a nessun servizio a pagamento o servizio in genere, solo accesso ad un controllore(tieni conto che ho accesso al controllore e posso dare la scadenza temporale) é solo per capire meglio come funzionano. Quindi dici che non esiste nulla? Tieni conto che lo studio non devo farlo su n blocchi di n chiavette ma su un codice solo che poi si ripete sulle altre 2 quindi credo di possibili sequenze che soddisfano l'intervallo siano poche.. Forse solo una...credo..
 
Probabilmente avevo capito male già prima, però ancora purtroppo non comprendo il quesito che stai ponendo. Tu hai un blocco da analizzare quasi tutto uguale? Se ad esempio fosse (completamente a caso, non è la struttura di una tessera RFID) ABC123DEF!!456??
Ed al posto di ! e ? ci fossero rispettivamente numeri e lettere casuali le combinazioni sarebbero comunque molte.
Se non ho capito correttamente ciò che chiedevi fammelo sapere, cercherò di fare il possibile per aiutarti!
 
Ciao Manuel,
no scusa probabilmente sono io che non riesco a spiegare molto bene..ti faccio un esempio.. metti che io ho (dimentichiamo i blocchi e facciamo finta che sia una sequenza sola) il primo codice sia (AA123GG!!), il secondo ha (BB234II??), il terzo (CC345LL!!), il quarto codice che mi dovrebbe ricavare (trovata la correlazione e l'intervallo tra il primo, il secondo e il terzo codice che è sicuramente uguale) dovrebbe essere (DD456NN??), ecco io dati 3 codici che hanno intervallo uguale devo ricavare il quarto, in teoria se confrontato su 3 codici in teoria dovrebbe esserci una sola combinazione possibile..spero di essermi spiegato..grazie ancora!
 
Ok, ora dovrei aver compreso.
Si, ovviamente è fattibile, però non esiste e dovrai crearlo tu. Questo sempre per il fatto che se non sono così diffuse non ci sarà nessuno che avrà programmato un algoritmo.
Il PC è una macchina e non pensa come un essere umano: tu vedi la correlazione tra quelle sequenze perchè tu sai che l'alfabeto è composto da quei caratteri e che nei tre esempi precedenti erano in ordine, così come 123 e 234 sono legati dal fatto che fai tutti e tre i numeri +1 e che tra G ed I c'è di mezzo una lettera.
La parte difficile sta nel dire al pc di fare tutto questo al posto tuo, poi sostituire !! o ?? con numeri e lettere e sputare fuori i risultati in un file o dove ti pare.

Un approccio a questo problema si potrebbe fare con Python, se hai un po' di esperienza con le basi della programmazione questo è molto facile e versatile, considerato da alcuni quasi come un inglese parlato, data appunto la sua estrema facilità di apprendimento.

Infine rispondo alla tua domanda originale, ovvero: Esiste già un programma che faccia quello che chiedo? No, ma può essere sviluppato da te un programma che faccia ESATTAMENTE ciò che vuoi (questo ESATTAMENTE significa che funzionerà alla grande per il tuo scopo, ma qualora ti servisse qualcos'altro dovrai riscrivere lo script almeno in parte).

Spero di esserti stato d'aiuto, eventualmente fammi sapere riguardo eventuali dubbi.
Buona serata!
 
Ciao Manuel, purtroppo non sono molto pratico di Python, avevo iniziato a guardarci un po' ma mi ero fermato per altri impegni....dovrò ricominciare!!!


Grazie ancora per la pazienza e per l'aiuto!!!
 
Ciao Manuel, purtroppo non sono molto pratico di Python, avevo iniziato a guardarci un po' ma mi ero fermato per altri impegni....dovrò ricominciare!!!


Grazie ancora per la pazienza e per l'aiuto!!!
Figurati :D
Se avrai tempo te lo consiglio davvero, è molto versatile e sicuramente ti tornerà utile in molte occasioni.
 
Ci sto già guardando!!:myeah:
E' che come programmazione devo capire come far fare al programma la comparazione tra i tre "codici" per trovare l'intervallo e calcolare il quarto..mi sa che non è facilissimo, soprattutto se ho un alfanumerico..
 
Ti butto lì un'esempio: per le lettere potresti trasformarle in ASCII e guardare quant'è l'intervallo tra quella di un codice e l'altro e controllare se sono uguali in tutti. Questo però me lo vedrei meglio come codice C++ adesso che ci penso...
Non prendere per verità assoluta queste cose perchè non posso assicurare nulla, però prova a stendere un bel flow chart ed in caso dimmi come posso aiutarti!
 
Sei troppo avanti, non sono a quei livelli!!Comunque in effetti potrei dividere in pezzi più piccoli esempio: se ho un codice (sparo a caso) 345TT8689GITV453 potrei dividerlo in 345 TT 8689 GITV 453 e comparare il 345 con le prime 3 del secondo codice, come dici tu poi trasformare tt in ASCII e comparare con l'altro codice e così via..magari ho detto una cavolata..
 
Ciao Manuel, scusa per il ritardo..ho provato a vedere i blocchi..sembrano esadecimali(sembrano), per decifrarli ho provato a trasformarli in decimali ma ho un numero lungo e se confronto le chiavette dello stesso mese hanno una riga di un settore uguale.. però non riesco a decifrarlo...in genere come inseriscono le cifre?Grazie
 
Scusa ma temo di non aver capito. In che senso come si inseriscono le cifre? Comunque, se potessi postare uno screenshot oppure il testo di quello che ti esce potrei provare a darti una mano con più facilità.
 
Stasera se riesco ti posto uno screenshot, intendevo le interpretazioni dei blocchi..qualcosa sono riuscito a fare, l'unica cosa è che se provo a scrivere tutto su una chiavetta vergine a volte mi dice che alcuni blocchi non possono essere scritti, soprattutto la prima riga del blocco 0..c'è modo di poterla scrivere?Ho acquistato dei tag nuovi per fare qualche prova ma quella prima riga proprio non riesco a scriverla con MCT Bt3frc..mi sai dire come mai?Tutti i blocchi possono essere scritti?

Grazie
 
A quanto pare non tutti possono essere scritti, magari alcuni sono proprio la certificazione del fatto che siano originariamente scritte dalla ditta produttrice (vedilo un po' come un protocollo CRC a grandi linee, dove se l'informazione di controllo è corretta allora il dato non è stato corrotto). Aspetto il tuo screenshot in modo da vedere se posso capire qualcosa in più. A stasera