Welcome
Benvenuto sul forum livecode italia

Stai vedendo il forum come ospite, che limita il tuo utilizzo del forum. Se ti registri sul forum, avrai la possibilità di pubblicare post e risposte, comunicare privatamente con gli altri membri, e altre funzioni. In aggiunta, i membri registrati vedono meno pubblicità. Registrarsi è veloce, semplice, e assolutamente gratuito (oltre che a liberarci da molto spam), quindi vai su ucp.php?mode=register e unisciti alla nostra comunità.

encrypt/DataBase

Qui si trattano argomenti che hanno a che fare su Livecode

encrypt/DataBase

Messaggioby marvi » ven set 02, 2016 8:03 pm

Sto impazzendo con il Database SQLite che ha deciso che non gli vado più a genio dopo tanti bei programmi fatti insieme.
Il problema è questo:
Ho un testo che cripto con tutti i crismi e se attivo la decriptazione risponde egregiamente, dopo aver provato e riprovato con successo decido di registrare nel database il testo criptato e SQLite non ne vuole sapere.
ho provato a salvarlo con e senza apici prima e dopo il testo criptato, in una tabella per text, blob, real niente da fare, la risposta è: unrecognized token: "'Salted__“ûÀ!à Y≠8`¡œ¢‚[äñ‡Ê÷çï*Ö¡Û0(´ß_∆Ame¿0≠∞ç˘öñ
/⁄"@,˙sFÏímñ˚±f.[F3RDÿFîDzsåwk•,a∫R¸HÊDw∂‡›√ÆÔ*í¡∆Lœ†fl∆øî#™Â\x0ûï_èÌâ"

Il testo è molto più lungo.

Dove sto sbagliando?
marvi
 
Posts: 87
Joined: ven ott 03, 2014 8:24 pm
Has thanked: 0 time
Have thanks: 4 time

Re: encrypt/DataBase

Messaggioby Neurox66 » sab set 03, 2016 6:39 pm

Il campo di che tipo lo hai dichiarato? Char o text?

Paolo
Neurox66
 
Posts: 81
Joined: gio lug 17, 2014 3:13 pm
Location: Vicenza
Has thanked: 0 time
Have thanks: 16 time

Re: encrypt/DataBase

Messaggioby marvi » dom set 04, 2016 1:04 pm

text, ma li ho provati tutti.
marvi
 
Posts: 87
Joined: ven ott 03, 2014 8:24 pm
Has thanked: 0 time
Have thanks: 4 time

Re: encrypt/DataBase

Messaggioby gpb01 » dom set 04, 2016 8:08 pm

Hai provato ad usare la funzione base64Encode() per codificare in base64 prima di scrivere nel DB e ad usare la base64Decode() quando rileggi ?

Guglielmo
Avatar utente
gpb01
 
Posts: 1
Joined: ven apr 01, 2016 9:26 pm
Has thanked: 0 time
Have thanks: 0 time

Re: encrypt/DataBase

Messaggioby livecodeitalia » lun set 05, 2016 11:18 am

E' meglio che usi questo modo, immagina che il testo cifrato sia mioCifrato:
Codice: Seleziona tutto
revExecuteSQL connID, "insert into mytable values(:1)", "*bmiocifrato"

è importante mettere *b davanti alla variabile, in modo che sia passato in maniera binaria.
Questa procedura vale solo in caso di database.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Re: encrypt/DataBase

Messaggioby marvi » lun set 05, 2016 4:39 pm

Grazie per le risposte, siete sempre molto disponibili.
Per il mio problema ho seguito l'indicazione di livecodeitalia e per alcuni tentativi, su stringhe corte, sono andato egregiamente. I problemi sono arrivati con le stringhe più lunghe.
Penso di aver intuito il problema ma non so risolverlo.
Vi spiego la mia procedura
- cripto la stringa e la depongo in un campo
- sostituisco tutti gli apici "'" con i doppi apici "''"
- metto *B prima della stringa criptata
- racchiudo la stringa con un apice all'inizio ed un apice alla fine
- inserisco nel dataBase e funziona

Il problema sorge quanto nel criptato trovo apici diversi [b]"’
marvi
 
Posts: 87
Joined: ven ott 03, 2014 8:24 pm
Has thanked: 0 time
Have thanks: 4 time

Re: encrypt/DataBase

Messaggioby marvi » lun set 05, 2016 5:06 pm

Reinvio il messaggio in quanto si è interrotto proprio nel punto in cui spiegavo qual'era il problema indicando il carattere colpevole che in questa versione ho indicato con codice charToNum su mac.

Grazie per le risposte, siete sempre molto disponibili.
Per il mio problema ho seguito l'indicazione di livecodeitalia e per alcuni tentativi, su stringhe corte, sono andato egregiamente. I problemi sono arrivati con le stringhe più lunghe.
Penso di aver intuito il problema ma non so risolverlo.
Vi spiego la mia procedura
- cripto la stringa e la depongo in un campo
- sostituisco tutti gli apici "'" con i doppi apici "''"
- metto *B prima della stringa criptata
- racchiudo la stringa con un apice all'inizio ed un apice alla fine
- inserisco nel dataBase e funziona

Il problema sorge quanto nel criptato trovo apici diversi, tipo "virgola"ma alta (charToNum(char = 110 anziché 80 come un normale apice) che hanno un carattere nascosto che non conosco, l'inserimento nel dataBase fallisce con il risultato che cita:
[email protected]^ß:‰,Û+RAkœÑΩÔµo£ÑPÏ_MI>í _)cj_rıëè_èG¢§ˇÈv‚__˝©?,
LX_÷Ûgú_≠T3k{_*~è~‹∫46´ôÔ…''‰Äæ—)ïGJM9ílÇ$úZFπ∫Ùe2ê._ÅÓ√=Yfi…p_åÁRÉxtèp_”"∞>ösÆI+_Ò5∫—5e‚QùØ
c”∞°˛bñ9È”lŸ_˘ä]wõŸ_£_&røã ˝_’

Se tento di sostituirlo con un altro carattere LivCode mi da errore di sintassi
mario
marvi
 
Posts: 87
Joined: ven ott 03, 2014 8:24 pm
Has thanked: 0 time
Have thanks: 4 time

Re: encrypt/DataBase

Messaggioby marvi » lun set 05, 2016 5:26 pm

correggio la precedente nota

il carattere colpevole racchiuso tra due virgolette é
" 34
’ 213 <----------
0
" 34
sulla sinistra dello 0 (terza riga) è presente un carattere nascosto di strana fattura che blocca la visualizzazione completa del messaggio
marvi
 
Posts: 87
Joined: ven ott 03, 2014 8:24 pm
Has thanked: 0 time
Have thanks: 4 time

Re: encrypt/DataBase

Messaggioby livecodeitalia » lun set 05, 2016 5:43 pm

Nooooooooooooooooooooooo :o ;)
la sostituzione degli apici va fatta solo se è un testo, ad esempio la Divina commedia, per riaverlo tale e quale. Quando inserisci in maniera binaria, non cambiare nulla.

La procedura è questa:
  1. cripti la stringa e la metti in una variabile, ad esempio il tuo testo cifrato è dentro var1
  2. inserisci il testo cifrato nel database in modo binario, aggiungendo *b al nome della variabile, non al contenuto! Quindi la variabile sarà chiamata *bvar1
Quando lo recuperi è già pronto, non devi fare nessuna sostituzione. SQLite e altri hanno problemi con gli apostrofi solo a ricevere i dati, non quando li inviano.
Per inserire in modo binario devi seguire le istruzioni qui: http://livecode.wikia.com/wiki/SQLite al capitolo "working with binaries"

In breve
Usi il comando revExecuteSQL per inserire i dati. Usando la sostituzione per i binari, leggi la guida riguardo
Usi revQueryDatabase() e revDatabaseColumnNamed() per recuperare i dati.
Quando si passa direttamente un binario, come il testo cifrato (che smette di essere un testo), queste funzioni sono le uniche che puoi usare. Le altre non vanno bene.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Re: encrypt/DataBase

Messaggioby livecodeitalia » lun set 05, 2016 5:46 pm

Se vuoi un aiuto, scrivimi tutto il codice che usi per caricare i dati dentro il database, e te lo riscrivo corretto.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Next

Return to Generale

Who is online

Visitano il forum: Nessuno e 1 ospite

cron
suspicion-preferred