Page 1 sur 1

Lettrage et chiffrage selon la formule Aimé Paris

Publié : mar. 13/juin/2017 15:46
par Micoute
Bonjour à tous,
n'ayant pas de projet pour le moment et pour m'occuper un moment, j'ai créé ce programme de chiffrage et lettrage.
La formule d'Aimé Paris est une méthode mnémotecnique pour se souvenir plus facilement des choses, car les lettres et les chiffres sont intiment liés, donc on peut mettre une chose en chiffres ou l'inverse, le voyelles ne servant à rien dans le codage, on peut donc en mettre autant qu'on veut pour que le mot à retenir soit plus intelligible, par exemple 321, peut devenir nomade, etc...

Code : Tout sélectionner

;Lettrage et et chiffrage selon la formule Aimé Paris
Procedure$ Lettrage(Chaine$)
  Protected i, j, Resultat$ = ""
  
  For i = 1 To Len(Chaine$)
    Select Val(Mid(Chaine$, i, 1))
      Case 0
        j = Random(1)
        If j = 0
          Resultat$ + "Z"
        Else
          Resultat$ + "S"
        EndIf  
      Case 1
        j = Random(1)
        If j = 0
          Resultat$ + "T"
        Else
          Resultat$ + "D"
        EndIf  
      Case 2
        Resultat$ + "N"
      Case 3
        Resultat$ + "M"
      Case 4
        Resultat$ + "R"
      Case 5
        Resultat$ + "L"
      Case 6
        j = Random(1)
        If j = 0
          Resultat$ + "G"
        Else
          Resultat$ + "J"
        EndIf  
      Case 7
        j = Random(1)
        If j = 0
          Resultat$ + "C"
        Else
          Resultat$ + "K"
        EndIf  
      Case 8
        j = Random(1)
        If j = 0
          Resultat$ + "F"
        Else
          Resultat$ + "V"
        EndIf  
      Case 9
        j = Random(1)
        If j = 0
          Resultat$ + "B"
        Else
          Resultat$ + "P"
        EndIf  
    EndSelect
  Next i
  ProcedureReturn Resultat$
EndProcedure

Procedure$ Chiffrage(Chaine$)
  Protected i, Resultat$ = ""
  
  Chaine$ = UCase(Chaine$)
  
  For i = 1 To Len(Chaine$)
    Select Mid(Chaine$, i, 1)
      Case "S", "Z"
        Resultat$ + "0"
      Case "D", "T"
        Resultat$ + "1"
      Case "N"
        Resultat$ + "2"
      Case "M"
        Resultat$ + "3"
      Case "R"
        Resultat$ + "4"
      Case "L"
        Resultat$ + "5"
      Case "G", "J"
        Resultat$ + "6"  
      Case "C", "K"
        Resultat$ + "7"
      Case "F", "V"
        Resultat$ + "8"
      Case "B", "P"
        Resultat$ + "9"
    EndSelect
  Next i
  ProcedureReturn Resultat$
EndProcedure


Debug Lettrage("0123456789")
Debug Chiffrage("STNMRLJKVP")
Debug Chiffrage("ZDNMRLGCFB")