Cambio Algoritmo codifica password

di il
15 risposte

Cambio Algoritmo codifica password

Sono sempre alle prese con la demo di Alex che cerco di adattare alle mie esigenze

Adesso, sempre su indicazione di alex, mi accingo a cambiare algoritmo di codifica password.

La scelta è caduta su RC4 di cui ho provato vari moduli trovati in rete

Dopo aver sostituito il Modulo col nuovo algoritmo, ho cambiato il termine  RC4 con Transform (termine col quale veniva richiamata la vecchia codifica) .

Al login mi sarei dovuto aspettare passw errata, invece 

Errore di compilazione        Argomento non facoltativo

Evidenziando Transform (algoritmo di codifica che attualmente corrisponderebbe a RC4)

e

Public Function getUSER(strUSER As String, strPWD As String) As Boolean       (evidenziato giallo)

Infatti facendo il debug su 

Public Function getUSER(strUSER As String, strPWD As String) As Boolean  

Mi ridà           Errore di compilazione        Argomento non facoltativo  con Transform in evidenza BLU

Qualche suggerimento?

Grazie

15 Risposte

  • Re: Cambio Algoritmo codifica password

    Devi mostrare il codice intero della nuova funzione

    Transform

    e il codice completo in cui avvengono le chiamate alla Transform

  • Re: Cambio Algoritmo codifica password

    
    Public Function getUSER(strUSER As String, strPWD As String) As Boolean
    
        On Error GoTo ERR_USER
        Dim strSQL              As String
        Dim strUSER_C           As String
        Dim strPWD_C            As String
        Dim rs                  As DAO.Recordset
        Dim APP_DB_CONN         As DAO.Database
        
        strUSER_C = strUSER
        strPWD_C = strPWD
    
        strPWD_C = Transform(strPWD_C)
        
        strUSER_C = "'" & Replace(strUSER_C, "'", "''") & "'"
        strPWD_C = "'" & Replace(strPWD_C, "'", "''") & "'"
        
        strSQL = "SELECT * FROM " & DB_USERTABLE & " "
        strSQL = strSQL & "WHERE USER=" & strUSER_C & " AND "
        strSQL = strSQL & "PWD=" & strPWD_C
  • Re: Cambio Algoritmo codifica password

    Non hai presentato la funzione Transform (ove si verifica l'errore) quella che richiami ha un solo parametro, mentre se dici di averla modificata impiegando l'algoritmo di cifratura RC4 avresti la necessità di due parametri (il testo in chiaro e la chiave); come puoi osservare in questo link:
    https://bytes.com/topic/access/insights/906671-rc4-encryption-algorithm-vba-vbscript

    Insomma credo che devi approfondire come si utilizzano le funzioni in particolare per il passaggio di parametri.

  • Re: Cambio Algoritmo codifica password

    Ti avevo scritto

    Devi mostrare il codice intero della nuova funzione

    Transform

    Non va bene non comprendere nulla di programmazione e chiedere la pappa pronta ma passi.

    Ma non leggere o non comprendere neanche le semplici richieste che ti si fanno significa far perdere tempo a tutti. C'è un limi a tutto…

  • Re: Cambio Algoritmo codifica password

    Oregon  per leggere leggo e tanto e nello stesso tempo cerco di capire ricercando online, ma deve pur comprendere le mie notevoli difficoltà; è come se chiedessi a un ragazzo di scuola elementare di risolvere una equazione differenziale. Le richieste fattemi saranno pure semplici ma dipende dal punto di vista. Mi hai richiesto il codice intero , se non l'ho ancora inviato è perchè sono in dubbio se è il contenuto del modulo o altro e mi stavo scervellando. Se poi ritiene che faccio perdere tempo per la mia incapacità (vero), allora posso ritirarmi in buon ordine ringraziando tutti voi per il generoso apporto datomi

  • Re: Cambio Algoritmo codifica password

    No, qui non c'entrano le equazioni differenziali. È semplice italiano

    Mostra tutto il codice della funzione Transform

    Devi semplicemente fare un copia incolla di quel codice, nulla di trascendentale.

    Hai modificato una funzione intera e vorremmo vederla, mi pare una semplice ed ovvia richiesta (che fra l'altro non avremmo dovuto neanche fare perché avresti dovuto mostrarla tu all'apertura del thread)

     Non c'entra la programmazione e non c'è nessuna necessità di scervellarsi, inutile fare “vittimismo”.

    Poi fai come vuoi ma se vuoi aiuto da zero almeno devi collaborare un minimo

  • Re: Cambio Algoritmo codifica password

    Quello che ho fatto è semplicemente sostituito RC4 con Transform

    Function Transform(sMessage, strKey) As String
        Dim kLen, x, y, i, j, temp
        Dim s(256), k(256)
    
        'Init keystream
        kLen = Len(strKey)
        For i = 0 To 255
            s(i) = i
            k(i) = Asc(Mid(strKey, (i Mod kLen) + 1, 1))
        Next
    
        j = 0
        For i = 0 To 255
            j = (j + k(i) + s(i)) Mod 255
            temp = s(i)
            s(i) = s(j)
            s(j) = temp
        Next
    
        'Drop n bytes from keystream
     x = 0
        y = 0
        For i = 1 To 3072
            x = (x + 1) Mod 255
            y = (y + s(x)) Mod 255
            temp = s(x)
            s(x) = s(y)
            s(y) = temp
        Next
    
        'Encode/Decode
        For i = 1 To Len(sMessage)
            x = (x + 1) Mod 255
            y = (y + s(x)) Mod 255
    temp = s(x)
            s(x) = s(y)
            s(y) = temp
    
            Transform = Trim(Transform & Chr(s((s(x) + s(y)) Mod 255) Xor Asc(Mid(sMessage, i, 1))))
        Next
    
    
    End Function
  • Re: Cambio Algoritmo codifica password

    Finalmente.

    Hai “semplicemente” sostituito senza sapere cosa facevi.

    Come vedi la nuova funzione che hai usato

    Function Transform(sMessage, strKey) As String

    accetta due valori in ingresso ovvero sMessage e strKey e non uno solo come la precedente.

    Questo perché, come ti è stato detto, l'algoritmo ha la necessità di una "chiave" che deve essere passata perché questo funzioni.

    Tu non lo fai chiamandola così

     strPWD_C = Transform(strPWD_C)

    in quanto passi un solo parametro.

  • Re: Cambio Algoritmo codifica password

    Apparte i due parametri non capisco perché poi cambiare il nome alla funzione…. Bho…

  • Re: Cambio Algoritmo codifica password

    07/05/2023 - Antony73 ha scritto:


    Apparte i due parametri non capisco perché poi cambiare il nome alla funzione…. Bho…

    Penso, secondo lui, per non cambiare tutti i punti in cui viene chiamata. Infatti ha lasciato intatte le chiamate senza curarsi di passare il secondo parametro.

  • Re: Cambio Algoritmo codifica password

    Oregon grazie per l'imput, vedrò di inserire la  chiave

    Antony73 ho  cambiato il nome solo per comodità come Oregon ha potuto intuire

  • Re: Cambio Algoritmo codifica password

    Fatto

    Ringrazio voi tutti, ma un ringraziamento particolare a Oregon per la pazienza avuta nei miei confronti. 

  • Re: Cambio Algoritmo codifica password

    clamasa a questo giro ti sei impegnato tantissimo…. ma male male male male male… ;))) 
    che mi combini ;))

    Mannaggiaaaaa!!!!  sei affogato in un bicchiere d'acqua e pure riempito a metà !!!  ;))

    Inizia da qui: Access Visual Basic for Applications (VBA) reference | Microsoft Learn
    e poi…
    Parametri e argomenti delle routine - Visual Basic | Microsoft Learn
    Differenze tra parametri e argomenti - Visual Basic | Microsoft Learn
    Procedura: definire un parametro per una routine - Visual Basic | Microsoft Learn
    Procedura: passare argomenti a una routine - Visual Basic | Microsoft Learn
    Passaggio di argomenti per valore e per riferimento - Visual Basic | Microsoft Learn
    Procedura: cambiare il valore di un argomento di routine - Visual Basic | Microsoft Learn
    ….. etc etc etc, c'è una documentazione infinita in Microsoft

    Vedrai che un passo alla volta accumuli esperienza e info… e poi se segui oregon come si deve andrai alla grande.

    Un saluto e buon lavoro

  • Re: Cambio Algoritmo codifica password

    By65Franco   ti ringrazio per tutto il materiale fornitomi ma ho già mal di testa .

    Quello che ho fatto è stato solo per passatempo; mi vergogno di essere affogato in mezzo bicchiere d'acqua, ma pazienza ho imparato un'altra cosa. Un saluto

Devi accedere o registrarti per scrivere nel forum
15 risposte