FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Encryptacion con ORD
Estimados tengo una gran duda me estoy volviendo loco el tema es asi tengo un texto que tiene una serie de caracteres encriptados que lo encripto con la función ORD pero por ejemplo cuando encripta a la letra C me la pone como el símbolo œ ahora bien al desencriptar me trae uno símbolos raros lo cual antes lo hacia bien lo que noto que el problema esta al usar el not dejo un ejemplo!!!!
atte. Gracias como siempre Última edición por Casimiro Notevi fecha: 13-05-2016 a las 22:50:59. |
#2
|
||||
|
||||
No olvides poner las etiquetas para código, gracias
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Perdon
Perdon se me paso :C
|
#4
|
||||
|
||||
Hola que version de delphi estas utilizando?
Hice unas pruebas en delphi 2010 y no tuve ningun problema
Saludos |
#5
|
||||
|
||||
Usar ORD no es encriptacion, o mejor dicho, lo es de la peor forma posible. NUNCA uses algo "inventado" por ti para estos temas, siempre usar una libreria hecha por criptografos.
__________________
El malabarista. |
#6
|
||||
|
||||
@mamcx No entiendo que tiene de malo que se haga algun algoritmo que cifro o descifre una cadena? ademas no esta especificando para que o porque lo esta haciendolo, asi que no comprendo tu comentario.
|
#7
|
||||
|
||||
Creo que lo dice porque con ord es tan evidente el resultado que más que "encriptación", se le podría llamar "intento de ocultación", pero no es nada serio si se quiere ocultar realmente una información.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
||||
|
||||
Lo hice porque si el objetivo es realmente encriptar, el uso de ORD es muy errado, y su uso en cualquier ambito donde se requiera seguridad es totalmente inutil. Ademas, es mas correcto decir que eso es un "encoding".
Probablemente se esta usando "encriptacion" en un tono muy liberal, pero es que me acuerdo que esa fue mi primera forma de "ocultar" claves....
__________________
El malabarista. |
#9
|
|||
|
|||
Buenas
Buenas Gracias por los comentarios en si no se necesita una seguridad importante solo es para que no se vea como esta escrita la frase el problema en verdad es que esta guardada en un XML y es un programa antiguo bien ahora cuando levanto por ejemplo el nombre que es Jorge me trae esta simbología (ユミヘリレ) y antes lo que estaba guardado en el XML era (Œšœž) entonces el problema es que hoy en día cuando lo codifica sale (ユミヘリレ) y antes salía (Œšœž).- Se entiende es como que ahora no encuentra la misma simbología que antes .. atte. Gracias como siempre
|
#10
|
||||
|
||||
Si vas a guardar esa cadena en un archivo XML, seguramente tendrás problemas de codificación.
Al aplicar tu función de encriptación el resultado puede contener caracteres no imprimibles y este puede ser el origen del problema al enviarlo a un archivo XML. Lo más recomendable en este caso es que al resultado de tu encriptación le apliques adicionalmente la codificación Base64, el resultado será una cadena en la cuál todos los caracteres son imprimibles y en un rango seguro para compartir información sobre archivos XML. Después, cuando quieras obtener el contenido de la variable desde tu archivo XML debes aplicar las funciones a la inversa, es decir, primero descodificar Base64 y el resultado va a tu función inversa de cripto para obtener la cadena original. Te recomiendo que busques en los foros por alguna función que codifique y descodifique Base64. Saludos |
#11
|
||||
|
||||
Si es solo para guardar en un xml de manera que a simple vista no se vea y aparte no tengas problemas de codificación.
Código:
Function StrToHex(Const pcStr: String): String; Begin Result := ''; if pcStr <> '' then Begin SetLength(Result, Length(pcStr) * 2); BinToHex(@pcStr[1], @Result[1], Length(pcStr)); End; End; Function HexToStr(Const pcStr: String): String; Begin Result := ''; if pcStr <> '' then Begin SetLength(Result, Length(pcStr) Div 2); HexToBin(@pcStr[1], @Result[1], Length(pcStr)); End; End; Ese código te sirve para lo que quieres y aparte te evitas el problema de la codificación. Enviado desde mi SM-G900H mediante Tapatalk
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#12
|
||||
|
||||
Aqui se mejor
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Encryptacion para memo o Blob | vroa74 | OOP | 8 | 04-07-2007 22:03:48 |
|