Cryptage vernam
Publié : dim. 08/sept./2019 13:24
Bonjour à tous,
Pour un site internet j'ai eu besoins de crypté des mots de passes, mais je devait également me garder la possibilité de pouvoir les décrypté (pour les envoyer par email).
J'ai trouvé la méthode de Vernam, qui me semble correcte.
Voici son principe de fonctionnement.
Voici un code Pb pour le faire de 1 à 24 caractères, vous pouvez changer la clé comme bon vous semble.
Pour un site internet j'ai eu besoins de crypté des mots de passes, mais je devait également me garder la possibilité de pouvoir les décrypté (pour les envoyer par email).
J'ai trouvé la méthode de Vernam, qui me semble correcte.
Voici son principe de fonctionnement.
- La clé de cryptage doit être aussi longue que le mot à crypter
- On convertir les caractères de la clé et du mot caractère par caractère en code ascii
- On effectue un xor en les deux code ascii
Voici un code Pb pour le faire de 1 à 24 caractères, vous pouvez changer la clé comme bon vous semble.
Code : Tout sélectionner
Procedure.s vernam(code.s)
Protected key.s="AsOfJvmzaNfDesFOmZpbNwKs"
Protected lCode = Len(code)
Protected result.s,i,c,ck
If lCode > Len(key)
MessageRequester("Error","The of this code can't be has len over "+Str(Len(key))+" !",#PB_MessageRequester_Error)
ProcedureReturn ""
EndIf
For i = 1 To lCode
c = Asc(Mid(code,i,1))
ck = Asc(Mid(key,i,1))
result + Chr(c ! ck)
Next
ProcedureReturn result
EndProcedure
Global code.s
Debug "CODE AVANT mh6589"
code = vernam("mh6589")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)
Debug "CODE AVANT nous somme tous pb"
code = vernam("nous somme tous pb")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)
Debug "CODE AVANT _gfgfgOpm_trtrtr"
code = vernam("_gfgfgOpm_trtrtr")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)