J'ai cherché une technique pour encrypter un fichier de type préférence ou ini.
je suis tombé sur ce lien :
http://www.purebasic.fr/french/viewtopi ... preference
Et j'ai essayé de l'adapter, mais ça ne marche pas, j'ai une erreur dans le code :
Code : Tout sélectionner
Procedure.s Encrypt(String.s)
Result.s
For i = 1 To Len(String)
Cod.b = Asc(Mid(String, i, 1))
Result = Result + Chr(Random(7) << 5 + (Cod & $F0) >> 3) + Chr(Random(3) + (Cod & $0F) << 3)
Next
ProcedureReturn Result
EndProcedure
Procedure.s Decrypt(String.s)
Result.s
For i = 1 To Len(String) Step 2
Cod.b = (Asc(Mid(String, i, 1)) << 3) & $F0 + (Asc(Mid(String, i + 1, 1)) >> 3) & $0F
Result + Chr(Cod)
Next
ProcedureReturn Result
EndProcedure
OpenPreferences("save.ini")
PreferenceGroup("general")
save= Random(15)
WritePreferenceInteger("vie",save)
save= Random(15)
WritePreferenceInteger("mana",save)
ClosePreferences()
If OpenFile(0,"save.ini")
ReadFile(0,"save.ini")
If CreateFile(1, "save_encrypted.ini")
CreateFile(2,"save2.ini") ; juste pour vérifier que tout est correct (en non encrypté)
While Eof(0) = 0
tempoString$ = ReadString(0)
WriteStringN(1,Encrypt(tempoString$))
WriteStringN(2,tempoString$)
Wend
CloseFile(0)
CloseFile(1)
CloseFile(2)
EndIf
EndIf
If OpenFile(1,"save_encrypted.ini")
ReadFile(1,"save_encrypted.ini")
If CreateFile(2,"save_decrypted.ini")
While Eof(1) = 0
a$ = ReadString(1)
WriteStringN(2,Decrypt(a$))
Wend
CloseFile(1)
CloseFile(2)
EndIf
EndIf
Sinon, savez-vous s'il existe une lib ou une technique pour encrypter/décrypter un fichier preference ?
merci
