Hola un compañero de trabajo a hecho un programita para cifrar datos y me gustaría saber si hay algún tipo de software que lo desencripte.
Gracias
Aquí os dejo unos ejemplos por si me podéis ayudar.
https://www.dropbox.com/s/935f12y69v68n1o/aaaa.txt?dl=0 (https://www.dropbox.com/s/935f12y69v68n1o/aaaa.txt?dl=0)
Tendréis que descargarlo para ver todos los caracteres.
si das más información... que estamos viendo? que tipo de cifrado usa? que se supone que decia llí originalmente? estás seguro que es cifrado y no hash?
con decir que esta cifrado y dar eso, poco dices :s
tema movido a criptografía
STORE SPAC(0) TO MINTERESA1A ,MINTERESA2A ,MINTERESA3A ,MINTERESA4A ,MINTERESA5A ,MINTERESA6A ,MINTERESA7A ,MINTERESA8A ,MINTERESA9A ,MINTERESA10A
STORE SPAC(0) TO MINTERESA11A,MINTERESA12A,MINTERESA13A,MINTERESA14A,MINTERESA15A,MINTERESA16A,MINTERESA17A,MINTERESA18A,MINTERESA19A,MINTERESA20A
DO CORTAR
DO MOSTRAR
RETURN
*------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------
PROCEDURE CORTAR
STORE MIO_TARJETA TO MIO_TARJETA1
*DO WHILE .T.
STORE SUBSTR(MIO_TARJETA1,1,1) TO MINTERESA1
STORE CHR(ASC(MINTERESA1)+20) TO MINTERESA1A
STORE LTRIM(RTRIM(SUBSTR(MIO_TARJETA1,2,1))) TO MINTERESA2
STORE CHR(ASC(MINTERESA2)+22) TO MINTERESA2A
STORE LTRIM(RTRIM(SUBSTR(MIO_TARJETA1,3,1))) TO MINTERESA3
STORE CHR(ASC(MINTERESA3)+24) TO MINTERESA3A
STORE SUBSTR(MIO_TARJETA1,4,1) TO MINTERESA4
STORE CHR(ASC(MINTERESA4)+24) TO MINTERESA4A
STORE SUBSTR(MIO_TARJETA1,5,1) TO MINTERESA5
STORE CHR(ASC(MINTERESA5)+23) TO MINTERESA5A
IF LTRIM(RTRIM( SUBSTR(MIO_TARJETA1,6,1) )) = SPAC(0)
*----------------NO HAY NADA------------PARO
RETURN
ENDIF
*-----------------------------2 BUCLE--------------
STORE SUBSTR(MIO_TARJETA1,6,1) TO MINTERESA6
STORE CHR(ASC(MINTERESA6)+20) TO MINTERESA6A
STORE SUBSTR(MIO_TARJETA1,7,1) TO MINTERESA7
STORE CHR(ASC(MINTERESA7)+21) TO MINTERESA7A
STORE SUBSTR(MIO_TARJETA1,8,1) TO MINTERESA8
STORE CHR(ASC(MINTERESA8)+20) TO MINTERESA8A
STORE SUBSTR(MIO_TARJETA1,9,1) TO MINTERESA9
STORE CHR(ASC(MINTERESA9)+21) TO MINTERESA9A
STORE SUBSTR(MIO_TARJETA1,10,1) TO MINTERESA10
STORE CHR(ASC(MINTERESA10)+22) TO MINTERESA10A
*-------------------3BUCLE------------------------------------------
STORE SUBSTR(MIO_TARJETA1,11,1) TO MINTERESA11
STORE CHR(ASC(MINTERESA11)+21) TO MINTERESA11A
STORE SUBSTR(MIO_TARJETA1,12,1) TO MINTERESA12
STORE CHR(ASC(MINTERESA12)+22) TO MINTERESA12A
STORE SUBSTR(MIO_TARJETA1,13,1) TO MINTERESA13
STORE CHR(ASC(MINTERESA13)+21) TO MINTERESA13A
STORE SUBSTR(MIO_TARJETA1,14,1) TO MINTERESA14
STORE CHR(ASC(MINTERESA14)+20) TO MINTERESA14A
STORE SUBSTR(MIO_TARJETA1,15,1) TO MINTERESA15
STORE CHR(ASC(MINTERESA15)+21) TO MINTERESA15A
*-------------------4BUCLE------------------------------------------
STORE SUBSTR(MIO_TARJETA1,16,1) TO MINTERESA16
STORE CHR(ASC(MINTERESA16)+20) TO MINTERESA16A
STORE SUBSTR(MIO_TARJETA1,17,1) TO MINTERESA17
STORE CHR(ASC(MINTERESA17)+22) TO MINTERESA17A
STORE SUBSTR(MIO_TARJETA1,18,1) TO MINTERESA18
STORE CHR(ASC(MINTERESA18)+22) TO MINTERESA18A
STORE SUBSTR(MIO_TARJETA1,19,1) TO MINTERESA19
STORE CHR(ASC(MINTERESA19)+21) TO MINTERESA19A
STORE SUBSTR(MIO_TARJETA1,20,1) TO MINTERESA20
STORE CHR(ASC(MINTERESA20)+21) TO MINTERESA20A
STORE MINTERESA1A+MINTERESA2A+MINTERESA3A+MINTERESA4A+MINTERESA5A+MINTERESA6A+MINTERESA7A+MINTERESA8A+MINTERESA9A+MINTERESA10A+MINTERESA11A+MINTERESA12A+MINTERESA13A+MINTERESA14A+MINTERESA15A+MINTERESA16A+MINTERESA17A+MINTERESA18A+MINTERESA19A+MINTERESA20A TO MIO_TARJETA_ENCRIPTADA
RETURN
*-----------------------------------------------------------------------------------------------------------------------
*-----------------------------------------------------------------------------------------------------------------------
PROCEDURE MOSTRAR
?
?
?
?MINTERESA1A +""+MINTERESA2A+""+MINTERESA3A+""+MINTERESA4A+""+MINTERESA5A
??MINTERESA6A +""+MINTERESA7A+""+MINTERESA8A+""+MINTERESA9A+""+MINTERESA10A
??MINTERESA11A+""+MINTERESA12A+""+MINTERESA13A+""+MINTERESA14A+""+MINTERESA15A
??MINTERESA16A+""+MINTERESA17A+""+MINTERESA18A+""+MINTERESA19A+""+MINTERESA20A
RETURN
*ENDD
Este seria el código que se a usado para "cifrar" esto. Lo hacemos en dbase plus, y nos gustaría saber cuanto costaría "descifrar" esto.
Lo que "cifra" son números.
el cifrado es estatico y bastante simple por lo que creo qne python con esto bastaría
fijo = "02443010121210102211"
file = open("aaaa.txt","r")
for i in file.readlines():
s = ""
for j in range(20):
s+= chr(ord(i[j])-int(fijo[j])-20)
print s,"\n"
los resultados parecen ser estos
9999999999999999
- - -
5545013097652196
9999999999999999
4539970039538539
- - -
Cita de: kielrom en 31 Marzo 2017, 15:32 PM
Este seria el código que se a usado para "cifrar" esto. Lo hacemos en dbase plus, y nos gustaría saber cuanto costaría "descifrar" esto.
Lo que "cifra" son números.
Confundís cifrado con desordenado...
En ell cifrado a modo grosso, se recurre a 3 modelos:
Sustitución: Uno o más caracteres se remplazan por otro u otros caracteres.
Transposición: Uno o más caracteres cambian de posición (pero permanecen en el mensaje los mismos caracteres).
Ampliación/reducción: Básicamente cuando la sustitución de x caracteres se remplaza por un número de caracteres distinto. O bien cuando después del cifrado existe una compresión (puede acabar siendo más corto o más largo el mensaje).
Como quiera que sea, estos cifrados suelen ser extremadamente simples, para que la fuerza de un cifrado sea considerable, la fuerza del mismo debe recaer no en el método, sino en la clave usada para cifrarlo. Así aunque alguien posea el código fuente, ni por fuerza bruta le sería posible romperlo (por cuestión física de tiempo).
Un consejo: Usad operaciones XOR en el cifrado. si tienes un resultado pongamos como: 234 (un byte), siendo el resultado de una operación XOR, puede ser 1 entre 256 posibilidades de operar con 2 bytes "A xor B", sin saber al menos una de las variables es imposible saber cual es la otra. Con cada carácter de longitud, se multiplica por 256 las posibilidades combinatorias.... luego cuanto más larga y aleatoria sea una clave, más imposible será de descifrar. si además se usa una clave para cada vez, aunque en una ocasión encontraran una 'solución' solo les serviría para esa 'solución'... por tanto el método se mantiene a salvo y la fuera es exclusivamente dependiente de la clave. Si al tiempo haceis que no sea dependiente del ser humano (que es el factor más débil en la ecuación de seguridad, por lo general), el resultado suele ser un sistema irrompible.
Hola de nuevo,
Gracias por vuestros comentarios y aportaciones, lo agradecemos mucho.
Pero nos gustaría saber si habría algún programa que poniéndole "los números cifrados", sin tener el código claro, pudiera resolverlo.
Muchisimas gracias por anticipado.
Un saludo
si me das 2 muestras, del numero sin ocultar y el numero ocultado, si, te podría resolver el algoritmo, como te dije, es simple y si, no es como tal un cifrado, es una codificación... incluso si usaras base64 (para quien no sepa lo que es, difícil en nuestros tiempos) sería mucho más difícil de romper, tienes metodos más seguros que son standard y están ampliamente documentados e implementados, te recomiendo, averiguar de ellos