salut,
voila je vais maintenant vous présenté un algo de cryptage qui BASIC.
sa peut servir de crypter les valeur HP d'un jeu programmé
je vais mettre la technique dans ce tuto le reste a vous de le faire. bon si vous s'intéresser suiver ce tutoriel
-system Binaire plusieurs programmeurs dans leur formations il ont étudier ce système bref ce système de numération utilisant la base 2. On nomme couramment bit (de l'anglais binary digit, soit « chiffre binaire ») les chiffres de la numération binaire. Ceux ci ne peuvent prendre que deux valeurs, notées par convention 0 et 1. Il est utilisé dans les codes des ordinateurs.
-Notre système on n'a
Vrai Xor Vrai = faux
Vrai Xor faux = vrai
Faux Xor vrai = vrai
faux Xor faux = faux
on peut dire que
1 Xor 1 = 0
1 Xor 0 = 1
0 Xor 1 = 1
0 Xor 0 = 0
alors cool
bon la disons que vous voulez crypter une chaine de caractère exemple:" rpgcreative" avec un mot de pass: 123456
alors la technique est de convertir:
les character de chaine en binaire soit "rpgcreative" = "11111111" (c'est qu'un exemple ce n'ai pas la vrai valeur)
est le mot de passe "123456" = "01010101"
en va faire
11111111 -> rpgcreative
xxxxxxxx
01010101 -> le pass: 123456
_________
10101010 -> un nouveau valeur différant du valeur original
voila avec un peu de logique on n'a bien créer un valeur bien défirent du valeur original et du mot de passe
alors la comment le décrypter ????
le principe est simple
on va faire:
10101010 -> la valeur crypté
xxxxxxxx
01010101 -> le mot de passe
________
11111111 -> magique ! on n'a retrouvé notre valeur original
alors voila voilu j'espère que vous avez compris le principe cet méthode s'appelle XOR un système de cryptage basic mais aussi bien pour un cryptage simple.
je clôture le tuto avec un exemple de C++,et un autre de visual basic
- Code: Tout sélectionner
#include <iostream>
using namespace std;
int main()
{
char msg[] = "rpgcreative";
char key = 123456;
cout << "Message original: " << msg << "
";
for(int i = 0 ; i < strlen(msg); i++)
msg[i] = msg[i] ^ key;
cout << "message encoder: " << msg << "
";
for(int i = 0 ; i < strlen(msg); i++)
msg[i] = msg[i] ^ key;
cout << "message decode: " << msg << "
";
return 0;
}
un autre exemple sous visual basic
- Code: Tout sélectionner
Function crypt(ByVal valeur As String, ByVal password As String) As String
Dim strCurrent As String
Dim i As Integer
Dim intKeyChar As Integer
Dim strTemp As String
Dim strText As String
Dim strKey As String
Dim strChar1 As String * 1
Dim strChar2 As String * 1
If strCurrent = "" Then
strText = valeur
Else
strText = strCurrent
End If
strKey = password
For i = 1 To Len(strText)
strChar1 = Mid(strText, i, 1)
intKeyChar = ((i - 1) Mod Len(strKey)) + 1
strChar2 = Mid(strKey, intKeyChar, 1)
strTemp = strTemp & Chr(Asc(strChar1) Xor Asc(strChar2))
Next i
strCurrent = strTemp
crypt = strCurrent
End Function
'test
'pour crypter
'msgbox crypt("rpgcreative","123456")
'pour decrypter c'est le meme mais a la place de rpgcreative vous 'donner la valuer' crypter