10.03.2018, 00:37
Boa noite eu estava fazendo esse sistema para criptografar em cуdigo ASCII, ele estб criptografando certinho.
Por exemplo a letra O maiъscula na tabela do cуdigo ASCII й referente б 79 e a letra A maiъscula da Chave de Criptografia й referente б 65 na tabela. Entгo 79 * 65 = 5135 que й o resultado jб criptografado.
Porйm estou tendo dor de cabeзa para fazer descriptografar, acabou "Bugando" meu cйrebro.
Por exemplo a letra O maiъscula na tabela do cуdigo ASCII й referente б 79 e a letra A maiъscula da Chave de Criptografia й referente б 65 na tabela. Entгo 79 * 65 = 5135 que й o resultado jб criptografado.
Porйm estou tendo dor de cabeзa para fazer descriptografar, acabou "Bugando" meu cйrebro.
PHP код:
new Chave[] = "AbCdEfGhIjKlMnOp";
new TChave = 16;
new TCript[100000];
CMD:en(playerid, params[]) {
new s[50];
if(sscanf(params, "s[50]", s)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}use: /en [texto]");
EncryptToPlayer(playerid, s);
return 1;
}
CMD:de(playerid, params[]) {
new s[50];
if(sscanf(params, "s[50]", s)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}use: /de [texto]");
DeEncryptToPlayer(playerid, s);
return 1;
}
stock EncryptToPlayer(playerid, string[]) {
new ChaveInteger@, str@[500], bradoks@[124];
for( new i@ = 0; i@ < strlen(string); i@++) {
TCript[i@] = string[i@];
}
printf("\n -- %d -- \n", TCript[0]);
new call@ = 0;
for( new x@ = 0; x@ < TChave; x@++) {
ChaveInteger@ = Chave[x@];
TCript[call@] *= ChaveInteger@;
call@++;
format(bradoks@, sizeof(bradoks@), "%d", TCript[call@]);
strcat(str@, bradoks@);
}
printf("\n -- %d -- \n", TCript[0]);
format(bradoks@, sizeof(bradoks@), "%s", str@);
SendClientMessage(playerid, -1, "Criptografia realizada com sucesso !");
SendClientMessage(playerid, -1, bradoks@);
DOF2_CreateFile("criptografado.ini");
DOF2_SetString("criptografado.ini", "Crip", bradoks@);
DOF2_SetString("criptografado.ini", "TextCrip", string);
DOF2_SaveFile();
return 1;
}
stock DeEncryptToPlayer(playerid, string[]) {
new valor@[111], pos_chave@, pos_texto@;
while(strlen(string)) {
valor@[pos_texto@] = string[pos_texto@];
valor@[pos_texto@] /= Chave[pos_chave@];
TCript[pos_texto@] = valor@[pos_texto@];
pos_texto@++;
pos_chave@ = pos_chave@ == (TChave-1) ? (0) : pos_chave@++;
}
printf("\n -- %d -- playerid = %d\n", TCript[0], playerid);
return 1;
}