FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Manejo de PWideString a Byte Array?
Saludos!
Llevo desde varios dias (3 para ser exacto) con una situacion demaciada problematica (o al menos para mi) la cual intento realizar para una aplicacion que estoy haciendo. La aplicacion toma los datos del segundo parametro de las funciones send() y recv() del winsock y la lee, la data esta encriptada con un algoritmo que yo se manejar, y he hecho una funcion que me permite decifrar los paquetes que recibo. Dicha funcion toma un parametro tipo array of byte el cual puedo definir y inicializar de la siguiente manera:
Aqui mi funcion utilizada para cifrar/decifrar paquetes:
Nota Aclaratoria: la HashTable_A y HashTable_B las tengo definidas en la seccion de declaracion de variables que tengo arriva del codigo, hasta el momento no veo necesario el compartirlas asi que por eso no las pongo, si es necesaria, solo pedid y se os dara Como ven dicha funcion trabaja perfectamente bien con una Array of Bytes estatica, ahora, mi idea era originalmente tomar el buffer del send() y recv() y manejarlo hasta que quedara una Byte Array para asi poder entonces pasar la data del buffer a la funcion de Crypt y asi poder realizar exitosamente la funcion. Mi otra idea seria modificar la funcion Crypt, y hacerla que en vez de que accepte un array of byte, que entonces accepte directamente un PWideString (PChar) que es donde el buffer se encuentra osea un puntero a char. Ahora entendiendo esto, mi problema se encuentra en que no se como implementar estas dos cosas que he explicado, He tratado de hacer varias conversiones pero ninguna trabaja, y escencialmente la raiz de todo esta en que necesito O convertir de PChar a Array of Byte o modificar la funcion Crypt... Como podria yo hacer dicha implementacion, si no de una, pues de la otra. He aqui una de las funciones que he tratado de hacer usar con la implementacio pero no logro completar mi mision: ConvertDataToByteArray pastebin.com/3iuXbwKX (Esta es la mas cercana que tengo para completar lo que quiero, pero asi mismo me sigue fallando) PD. Disculpen si algunos pudiera molestarles como trabaje la gramatica en mi texto, es que aunque mi lenguaje materno es el español, lo mas que hablo y escribo es el Ingles, ya que vivo en los Estados Unidos espero sean entendidos. |
#2
|
|||
|
|||
Resumiendo: el problema que tienes es la conversión de tipos de variables,
Recibes un PChar y lo necesitas convertir a ByteArray para que la función desencripte los paquetes, luego pasarlo a string y leer la información. Ten encuentra que deberías decir si estas usando Delphi 7 o XE ya que las conversiones pueden variar entre esos 2 Delphi's //Te dejo en Delphi XE10 un método sencillo que me funciona a mí:
|
#3
|
||||
|
||||
Otra alternativa para pasar un string a un arreglo de bytes es usar la funcion StrLCopy
PD: Esta funcion trabaja tanto con pchar como pwidechar Saludos... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda sobre valor de Array Of Byte | JuanOrtega | Varios | 4 | 21-08-2015 01:38:11 |
Convertir imagen en Array of Byte | jlrdz | OOP | 4 | 04-05-2015 17:47:56 |
Salvar un array of byte en firebird? | sonjeux | Firebird e Interbase | 3 | 30-01-2014 02:34:19 |
Como convertir un string a un array de byte | K-ba | Varios | 2 | 14-02-2011 00:27:07 |
¿Buffer: array[0..1024] of Byte;? | JXJ | Varios | 2 | 29-03-2009 23:05:46 |
|