Allied Modders en español
[Stock] Simple Encrypt/Decrypt - Versión para impresión

+- Allied Modders en español (https://amxmodx-es.com)
+-- Foro: AMX Mod X - Scripting (https://amxmodx-es.com/Forum-AMX-Mod-X-Scripting)
+--- Foro: Aportes (https://amxmodx-es.com/Forum-Aportes)
+--- Tema: [Stock] Simple Encrypt/Decrypt (/Thread-Stock-Simple-Encrypt-Decrypt)

Páginas: 1 2


[Stock] Simple Encrypt/Decrypt - Destro - 03/10/2014

Hace un rato estaba necesitando un algoritmo simple para encriptar/decriptar un string, busque en AM pero no encontré ninguno para lo que necesitaba. Encontré uno en c++ y lo pase a pawn xd.

Código PHP:
// Pueden editar esta tabla, los caracteres que no estén en la tabla quedan igual, los que están son cambiados por otro
new const table[] = "[email protected]";


stock table_find_char(character)
{
    for(new 
itable[i]; i++) if(table[i] == character) return i
    
    
return -1
}

stock generate_key(string[])
{
    new 
int[1]
    for(new 
i&& string[i]; i++) int{i} = string[i]
    
    return 
1+int[0]%255
}

stock encrypt(string[], out[], lennumkey)
{
    new 
charidi
    
for(i=0string[i] && <= len;i++)
    {
        
charid table_find_char(string[i])
        if(
charid == -1out[i] = string[i]
        else 
out[i] = table[(charid+numkey)%charsmax(table)]
    }
}

stock decrypt(encrypted[], out[], lennumkey)
{
    new 
charidi
    
for(i=0encrypted[i] && <= len;i++)
    {
        
charid table_find_char(encrypted[i])
        if(
charid == -1out[i] = encrypted[i]
        else 
out[i] = table[(charid-numkey)%charsmax(table)]
    }


Ejemplo:
Código PHP:
new buff[32]
encrypt("hola mundo"buff315// numkey puede ser cualquier numero diferente de 0
server_print("Encriptado:[%s]"buff// "mtqf rzsit"


decrypt(buff,buff315// numkey tiene que ser igual al que se uso para encriptar
server_print("Decriptado:[%s]"buff// "hola mundo" 



RE: [Stock] Simple Encrypt/Decrypt - ivan - 03/10/2014

no entenid un pingo pero buen aporte, seria como un colorchat puede ser


RE: [Stock] Simple Encrypt/Decrypt - sasske - 03/10/2014

(03/10/2014, 11:38 PM)ivan escribió: no entenid un pingo pero buen aporte, seria como un colorchat puede ser

No, encripta datos para protejerlos...

Por ej:
Encriptado:[mtqf rzsit]
Decriptado:[hola mundo]

(Y lo puse C&P)

PD: Esta bueno si se le encuentra un uso ideal pacman


RE: [Stock] Simple Encrypt/Decrypt - kikizon2 - 04/10/2014

(03/10/2014, 11:38 PM)ivan escribió: no entenid un pingo pero buen aporte, seria como un colorchat puede ser

Colorchat? Wtf? Roflmao Roflmao

Buen Aporte Destro :3 :3

Like y Compartir pacman


RE: [Stock] Simple Encrypt/Decrypt - cLi - 04/10/2014

muy interesante


RE: [Stock] Simple Encrypt/Decrypt - zoolk - 04/10/2014

No entendi muy bien su funcionalidad x.x
Es como la funcion 'copy'?


RE: [Stock] Simple Encrypt/Decrypt - [Anti] - 04/10/2014

(04/10/2014, 02:24 AM)zoolk escribió: No entendi muy bien su funcionalidad x.x
Es como la funcion 'copy'?

(03/10/2014, 11:38 PM)ivan escribió: no entenid un pingo pero buen aporte, seria como un colorchat puede ser

El encriptado de datos es para la protección de los mismos, supone que vos tenes que trasladar información de un punto a otro, el emisor la encripta para que si en algun punto del traslado de la información es recibida o captada por alguien no deseado no la pueda leer fácilmente, y así proteger la información.

Como en el ejemplo de 'Hola mundo' da resultado 'mtqf rzsit' pueden ver que el lugar de las 'o' es cambiado por las 't'


Re: [Stock] Simple Encrypt/Decrypt - wiD - 04/10/2014

En realidad en ese encriptado cambia la letra por la que esta 4 espacios adelante de ella en el abecedario.

Muy buen aporte.


RE: [Stock] Simple Encrypt/Decrypt - [Anti] - 04/10/2014

(04/10/2014, 09:09 AM)wiD escribió: En realidad en ese encriptado cambia la letra por la que esta 4 espacios adelante de ella en el abecedario.

Muy buen aporte.

Editado, gracias.


RE: [Stock] Simple Encrypt/Decrypt - zoolk - 04/10/2014

:o entiendo que buen aporte


RE: [Stock] Simple Encrypt/Decrypt - LuKks - 04/10/2014

Cual es mejor, el tuyo o este de Kiske?:
Código PHP:
Encrypt(szSource[], iLenszDest[], iMaxCharsszKey[])
{
    if ((
iLen 1) > iMaxChars) return 0

    
new iPos iKeyPos iKeyLen strlenszKey )
    
    for (
iPos iPos iLen iPos iMaxChars iPos++)
    {
        
szDest[iPos] = szSource[iPos] ^ szKey[iKeyPos]
    
        if (++
iKeyPos == iKeyLen)  iKeyPos 0
    
}
    
    return ++
iPos




Re: RE: [Stock] Simple Encrypt/Decrypt - sasske - 04/10/2014

(04/10/2014, 04:52 PM)LuKks escribió: Cual es mejor, el tuyo o este de Kiske?:
Código PHP:
Encrypt(szSource[], iLenszDest[], iMaxCharsszKey[])
{
    if ((
iLen 1) > iMaxChars) return 0

    
new iPos iKeyPos iKeyLen strlenszKey )
    
    for (
iPos iPos iLen iPos iMaxChars iPos++)
    {
        
szDest[iPos] = szSource[iPos] ^ szKey[iKeyPos]
    
        if (++
iKeyPos == iKeyLen)  iKeyPos 0
    
}
    
    return ++
iPos


No se si es mejor o peor, es diferente, ese mueve letras segun veo (corrijanme sino). Pero son los 2 basicos asiq...


RE: [Stock] Simple Encrypt/Decrypt - LuKks - 04/10/2014

Cual es mejor para proteger los datos por que por lo que entendi en los comentarios el de Destro ya es inseguro por que ya saben como decifrar los strings encriptados ._.
Whatdone


Re: RE: [Stock] Simple Encrypt/Decrypt - sasske - 04/10/2014

(04/10/2014, 05:11 PM)LuKks escribió: Cual es mejor para proteger los datos por que por lo que entendi en los comentarios el de Destro ya es inseguro por que ya saben como decifrar los strings encriptados ._.
Whatdone

Esq es lo q digo, son los dos simples/faciles de des-cifrar, pero sirven, no seran contraseñas del banco Lengua


RE: [Stock] Simple Encrypt/Decrypt - roccoxx - 04/10/2014

Ya le encontre un uso jeje


Re: RE: [Stock] Simple Encrypt/Decrypt - sasske - 04/10/2014

(04/10/2014, 05:16 PM)roccoxx escribió: Ya le encontre un uso jeje

Dilo xD


RE: [Stock] Simple Encrypt/Decrypt - Destro - 04/10/2014

(04/10/2014, 09:09 AM)wiD escribió: En realidad en ese encriptado cambia la letra por la que esta 4 espacios adelante de ella en el abecedario.

Muy buen aporte.
Cambia todos los caracteres que estén en la tabla por otros,calculado por el key.

(04/10/2014, 04:52 PM)LuKks escribió: Cual es mejor, el tuyo o este de Kiske?:
Código PHP:
Encrypt(szSource[], iLenszDest[], iMaxCharsszKey[])
{
    if ((
iLen 1) > iMaxChars) return 0

    
new iPos iKeyPos iKeyLen strlenszKey )
    
    for (
iPos iPos iLen iPos iMaxChars iPos++)
    {
        
szDest[iPos] = szSource[iPos] ^ szKey[iKeyPos]
    
        if (++
iKeyPos == iKeyLen)  iKeyPos 0
    
}
    
    return ++
iPos

Ese encrypt es de Bugsy, no se puede decir que es mejor/peor, es diferente.
Con ese encrypt te da cualquier carácter y te va a ser un problema en muchas cosas.


(04/10/2014, 05:11 PM)LuKks escribió: Cual es mejor para proteger los datos por que por lo que entendi en los comentarios el de Destro ya es inseguro por que ya saben como decifrar los strings encriptados ._.
Whatdone
Los dos son casi igual de seguro. De donde sacaste lo ultimo Dafuq ?.

(04/10/2014, 05:15 PM)sasske escribió: Esq es lo q digo, son los dos simples/faciles de des-cifrar, pero sirven, no seran contraseñas del banco Lengua
Ambos hacen perder un buen tiempo para que lo pueda descifrar Roflmao (ademas de que no cualquiera lo hace Yao ming)


Re: RE: [Stock] Simple Encrypt/Decrypt - sasske - 04/10/2014

(04/10/2014, 05:56 PM)Destro escribió:
(04/10/2014, 09:09 AM)wiD escribió: En realidad en ese encriptado cambia la letra por la que esta 4 espacios adelante de ella en el abecedario.

Muy buen aporte.
Cambia todos los caracteres que estén en la tabla por otros,calculado por el key.

(04/10/2014, 04:52 PM)LuKks escribió: Cual es mejor, el tuyo o este de Kiske?:
Código PHP:
Encrypt(szSource[], iLenszDest[], iMaxCharsszKey[])
{
    if ((
iLen 1) > iMaxChars) return 0

    
new iPos iKeyPos iKeyLen strlenszKey )
    
    for (
iPos iPos iLen iPos iMaxChars iPos++)
    {
        
szDest[iPos] = szSource[iPos] ^ szKey[iKeyPos]
    
        if (++
iKeyPos == iKeyLen)  iKeyPos 0
    
}
    
    return ++
iPos

Ese encrypt es de Bugsy, no se puede decir que es mejor/peor, es diferente.
Con ese encrypt te da cualquier carácter y te va a ser un problema en muchas cosas.


(04/10/2014, 05:11 PM)LuKks escribió: Cual es mejor para proteger los datos por que por lo que entendi en los comentarios el de Destro ya es inseguro por que ya saben como decifrar los strings encriptados ._.
Whatdone
Los dos son casi igual de seguro. De donde sacaste lo ultimo o.O ?.

(04/10/2014, 05:15 PM)sasske escribió: Esq es lo q digo, son los dos simples/faciles de des-cifrar, pero sirven, no seran contraseñas del banco Lengua
Ambos hacen perder un buen tiempo para que lo pueda descifrar Lengua (ademas de que no cualquiera lo hace)

Claro, el punto es q no viene un profecional a sacarlos, por eso digo q anda bien :p


RE: [Stock] Simple Encrypt/Decrypt - LuKks - 04/10/2014

(04/10/2014, 05:56 PM)Destro escribió: Con ese encrypt te da cualquier carácter y te va a ser un problema en muchas cosas.
Como en que cosas ?

De todas formas usare el tuyo ya que me encantan tus aportes, mejor dicho.. me super encantan tus aportes.


RE: [Stock] Simple Encrypt/Decrypt - Destro - 04/10/2014

Roflmao

El otro encrypt te puede dar caracteres de control (salto de linea,final de linea, etc) y te complica todo (como el guardado,la impresión )


RE: [Stock] Simple Encrypt/Decrypt - Zetz - 05/10/2014

Y esto se puede usar en caso de querer hacer una simple función que si el server donde está el plugin no es tal ip... se apague, y cuando un usuario quiera entrar al .amxx y cambiar el valor de la ip, envez de la ip salgan varias letras ya que estaría encriptada... digo yo nose :I


RE: [Stock] Simple Encrypt/Decrypt - LuKks - 05/10/2014

(05/10/2014, 04:20 PM)Zetz escribió: Y esto se puede usar en caso de querer hacer una simple función que si el server donde está el plugin no es tal ip... se apague, y cuando un usuario quiera entrar al .amxx y cambiar el valor de la ip, envez de la ip salgan varias letras ya que estaría encriptada... digo yo nose :I

Para simular otra IP no hace falta el .amxx ni el .sma, unos comanditos en consola y ya.
Si queres proteger un plugin hablame al Facebook que te doy un codigo que hice antes de ayer Sonrisa


RE: [Stock] Simple Encrypt/Decrypt - CSAxel - 06/10/2014

Un ejemplo podría ser este??

Código PHP:
static szBuffer[32];
encrypt("Destro moderador O.o"szBuffercharsmax(szBuffer), random(8)); 

Así puedan variar los caracteres cuando guardo los caracteres en una variable o cuando uso un sistema de cuentas y lo use cuando guarda datos y al cargarlos lo "descripta"


RE: [Stock] Simple Encrypt/Decrypt - sasske - 06/10/2014

(06/10/2014, 10:02 PM)CSAxel escribió: Un ejemplo podría ser este??

Código PHP:
static szBuffer[32];
encrypt("Destro moderador O.o"szBuffercharsmax(szBuffer), random(8)); 

Así puedan variar los caracteres cuando guardo los caracteres en una variable o cuando uso un sistema de cuentas y lo use cuando guarda datos y al cargarlos lo "descripta"

Pero si haces un random tenes que saber que random fue para poder decriptarlo...


RE: [Stock] Simple Encrypt/Decrypt - Velodek - 27/12/2017

Buen Aporte, lo edite y lo hice mas complejo para Guardar y Cargas datos encriptados!... ya que todavia no me tome el tiempo de aprender a manejar SQL y los datos quedaban muy expuestos en un archivo de texto! (Cualquier Moderador podia cambiar el record de un jugador)