Newsgroup: it.comp.appl.access
Titolo: Crittografare Campo di una tabella

Salve,
ho una tabella in cui devo memorizzare in un campo password delle password 
appunto.
vorrei però che venissero crittografate.
Come è possibile farlo??
Ovviamente quando apro la maschera di access per visualizzarne i dati devo 
leggere la password decodificata.
Come posso fare in un modo abbastanza semplice ma efficace?
GRAZIE MILLE A TUTTO IL NG 

 ha scritto nel messaggio 
news:_PbAd.59727$C94....@tornado.fastwebnet.it...

menu: strumenti protezione crittografa database. Non so se fa al caso tuo 
...

 ha scritto nel messaggio 
news:cqrj9d$vuf$1...@hulme.interac.it...

NO
io voglio crittografare solo un campo di una tabella 

 ha scritto nel messaggio 
news:wZcAd.59846$C94....@tornado.fastwebnet.it...

Mi dispiace, altre soluzioni non ne ho ... toglimi xò una curiosità: vuoi 
crittografare la password oppure farla visualizzare all'utente come una 
serie di asterischi?
In quest'ultimo caso puoi usare una maschera e formatti il campo come 
maschera di input password. Ancora una volta non so se fa al caso tuo! ...
ciao e buona fortuna.... 



Io crittografo le password e le memorizzo in una tabella. Utilizzo una
maschera di login per entrare nel database. Una routine di decodifica
mi trasforma la password memorizzata nella tabella e la confronta con
quella che inserisce l'utente. Se è uguale procede con l'apertura di
una maschera iniziale dipendente dal tipo di utente. Ho adattato degli
esempi che ho trovato in rete. La maschera di login mi pare di averla
ricavata dal sitocomune. 
Avevo iniziato a scriverti tutto il codice ma mi rendo conto che è
troppo lungo e non vorrei dare fastidio a qualcuno. Se può interessare
a qualcuno posso inviare un database di esempio. In ogni caso il solo
codice per crittografare la password che uso è questo
Private Function Enc$(Strg$, Word$)
   Dim b$, s$, i As Integer, j As Integer
   Dim A1 As Integer, A2 As Integer, A3 As Integer, p$
   j = 1
   For i = 1 To Len(Word$)
     p$ = p$ & Asc(Mid$(Word$, i, 1))
   Next
   For i = 1 To Len(Strg$)
     A1 = Asc(Mid$(p$, j, 1))
     j = j + 1: If j > Len(p$) Then j = 1
     A2 = Asc(Mid$(Strg$, i, 1))
     A3 = A1 Xor A2
     b$ = Hex$(A3)
     If Len(b$) < 2 Then b$ = "0" + b$
     s$ = s$ + b$
   Next
   Enc$ = s$
End Function
Strg$ è la password in chiaro fornita al momento dell'inserimento
dell'utente. Word$ è una chiave che viene fornita per la crittografia.
Enc$ è il valore che verrà memorizzato nella tabella nel campo
password.
La funzione di decodifica, invece, è la seguente:
Public Function Dec$(Strg$, Word$)
   Dim b$, s$, i As Integer, j As Integer
   Dim A1 As Integer, A2 As Integer, A3 As Integer, p$
   j = 1
   For i = 1 To Len(Word$)
     p$ = p$ & Asc(Mid$(Word$, i, 1))
   Next
   For i = 1 To Len(Strg$) Step 2
     A1 = Asc(Mid$(p$, j, 1))
     j = j + 1: If j > Len(p$) Then j = 1
     b$ = Mid$(Strg$, i, 2)
     A3 = Val("&H" + b$)
     A2 = A1 Xor A3
     s$ = s$ + Chr$(A2)
   Next
   Dec$ = s$
End Function
Strg$ è la password memorizzata nella tabella (quindi codificata),
Word$ è la chiave di cui ho detto prima.
Praticamente quando l'utente fa il login con dlookup vado a prendermi
dalla tabella la password e la chiave che corrisponde al  nome di
quell'utente, faccio partire la funzione di decodifica che mi fornirà
la password in chiaro e confronto quest'ultima con quella che mi ha
inserito l'utente. Se corrispondono faccio un altro dlookup e mi
prendo il valore che mi indica che tipo di utente ha effettuato il
login e con un select case faccio partire la giusta maschera.
Spero di essermi spiegato.
ciao
andrea sasabl