Conversion de xor, RSH et shl de Delphi pour PHP

O que ando ainda nesta caminhada sobre un Terra

Conversion de xor, RSH et shl de Delphi pour PHP

Je suis migration d'un logiciel fait en Delphi pour PHP et je suis tombé sur un problème dans un putain Fonction de cryptage béni.

J'ai souffert un peu en train de réécrire la fonction fait de la complexité du code et avec les différences dans les résultats.

La fonction fait appel à des opérateurs XOR et RSH dans la version de Delphi. La RSA a été relativement facile grâce à l'expérience avec les opérateurs de bits et comment Delphi documentation dit que l'opérateur tire sur bits vers la droite d'un entier (Comment comprendre une abréviation de SHIFT Rlumière et l'inverse est l'opérateur SHL ; SHIFT LEFT) J'ai couru quelques tests à l'aide de l'opérateur >;>; et a frappé tout d'abord.

L'opérateur XOR était déjà plus compliqué. PHP a cet opérateur et je n'a pas fonctionné pour vous assurer que si les deux font la même chose. Seulement quand j'ai fait quelques tests à l'aide de différents nombres entiers est que je pourrais réaliser qu'ils ne donnent pas les mêmes résultats. Dans Delphi il retournait toujours un nombre alors qu'en PHP, il retourne 1 ou 0 (en fait, vrai ou faux).

Seulement quand j'ai lu la documentation des deux langues, que j'ai réalisé différents. Dans Delphi XOR est une opération de comparaison unique (Ou exclusif) qui retourne true ou false Ou une opération de bits de deux arguments. PHP est uniquement un opérateur XOR à Ou exclusif. Il ne fait pas les ajustements dans l'opération de bits. L'équivalent est dans ce cas l'opérateur ^ (accent circonflexe).

Un autre apprentissage. Espérons que cela aide quelqu'un d'autre un jour.

S'ensuit quelques liens utiles.

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

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

 ;

Une réponse

  1. Gabriel Bonissoni Dit:

    cara…;. eu tava me batendo usando o xor no php…;. mudei para ^ e deu tudo certo. obrigado pela ajuda 😀

Laisser une réponse

Votre adresse email ne sera pas publié. Les champs obligatoires sont marqués *

Ce site utilise Akismet pour réduire le spam. Apprenez comment vos données de commentaire sont transformées.