【问题标题】:How can I XOR these base64'd numbers?我怎样才能对这些 base64 数字进行异或?
【发布时间】:2010-12-05 15:26:33
【问题描述】:

我有 5 个二进制字符串 base64_encode()'ed

wAD4Af8B/gHuA/4BzgP1A/8P/h//f/xv+z30D9IDSAE=

AAAgCPgf/B/4H/w1+B74Gfg/+B/8P/4f/D/8HwABAAA=

AAAAAMB/wP/A/8B/4HvAf+B/+n/3P/Y//z/4n4CDgAE=

AAAAXcB/wH/Af8B/wHfAP+B/6H/xf+7//r/4f0CngFY=

AAiwifAP+B/4D/gf8B74D/gd8V/4H/gP8B/8vwABAAA=

AAAAAAAA/QD/Af4B/iP+A/wD/A/+//7/+B+AAwAAAAA=

我如何对它们中的每一个进行 XOR (^) 并计算结果中的 1 位。听起来应该很简单,但我不知道如何在 PHP 中使用二进制文件。

【问题讨论】:

  • 或者如果有人知道,如何将此 Perl 代码转换为 PHP 等效代码: unpack("N", pack("B32", substr("0" x 32 . $binary, -32)) );

标签: php binary bit-manipulation


【解决方案1】:

packunpack 函数是您要查看的函数。它们允许在二进制字符串之间进行转换。

当然,您还必须使用 base 64 解码功能和bitwise functions

【讨论】:

  • 问题是要解压使用哪些选项,以便能够以我可以计算 1 和 0 的格式获取二进制文件。 $结果 = $binary1 ^ $binary2; $string = unpack([...], $result); $counts = count_chars($string); // 1's = $counts[49] and 0's = $counts[48] 问题又是如何让 $string 变量正确。谢谢。
【解决方案2】:

您可以在此处找到有关逻辑运算符的更多信息: http://php.net/manual/en/language.operators.logical.php

【讨论】:

  • 是的,我知道问题中提到的那些。
猜你喜欢
  • 2018-03-26
  • 2021-09-17
  • 2013-07-09
  • 2015-06-13
  • 1970-01-01
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
相关资源
最近更新 更多