RSS

  • YouTube
  • LinkedIn
  • Google

Conversión de xor, SHR y shl de Delphi para PHP

Yo estoy migrando un software hecho en Delphi para PHP y me encontré con un problema en un jodido Función de cifrado bendito.

Sufrí un poco tratar de reescribir la función hace a la complejidad del código y con las diferencias en los resultados.

La función hace uso de operadores XOR y SHR en la versión de Delphi. El SHR fue relativamente fácil gracias a la experiencia con operadores bit a bit y como documentación de Delfos dice que el operador tira de bits a la derecha

de un entero (Cómo entender una abreviatura de SHIFT Rluz y el inverso es el operador de SHL ; SHIFT LEFT) Corrí algunas pruebas utilizando el operador >;>; y lo golpeó primero.

Ya era más complicado el operador XOR. PHP tiene este operador y no trabajo para asegurarse de que si ambos hacen lo mismo. Cuando hice algunas pruebas con diferentes números enteros es sólo que podía realizar que no dan los mismos resultados. En Delphi siempre volvió un número mientras que en PHP, volvió 1 o 0 (realmente verdadero o falso).

Sólo al leer la documentación de ambas lenguas me di cuenta de que son diferentes. En Delphi XOR es una operación de comparación única (O exclusivo) que devuelve true o false O una operación bit a bit de dos argumentos. PHP es sólo un operador XOR a O exclusivo. Él no realice los ajustes en la operación de bits. El equivalente en este caso es el operador de ^ (acento circunflejo).

Otro aprendizaje. Espero que algún día alguien Ayude.

Sigue algunos enlaces útiles.

http://php.net/manual/pt_BR/language.operators.bitwise.php

http://www.delphibasics.co.uk/RTL.asp?Name=xor

Contesta

Su dirección de correo electrónico no se publicará. Los campos obligatorios están marcados *

Este sitio utiliza Akismet para reducir el spam. Aprender cómo se procesaron los datos de comentario.