PHP XOR解密

时间:2011-11-21 16:24:37

标签: php encryption md5 xor

我有一个来自网页的加密参数V,如下所示:

page.php?V=5E5C535C584B40584A4A4E564B5D4503510755020402080C580A015D0D0A5A010206070C0E025C000F005D080E5F5D

V 加密如上:

MD5

md5("a=login|password") = b90669a351161d0d74bed0e04d7b5eef 

XOR

password= "1234567899999999"
encryptedXOR = obj.XOREncryption(password,"login|password|b90669a351161d0d74bed0e04d7b5eef")

给出类似的东西:

encryptedXOR = 5E5C535C584B48584A4A4E564B5D4503510755020402080C580A015D0D0A5A010206070C0E025C000F005D080E5F5D

我想要的是使用密码解密这个' ecryptedXOR '的功能,这样我就可以得到:

login|password|b90669a351161d0d74bed0e04d7b5eef

这是我到目前为止所做的事情:   http://pastebin.com/D9mzx82Q

1 个答案:

答案 0 :(得分:2)

您可以使用相同的“密码”进行异或,以获取原始字符串。

修改:

来自Wikipedia

  

可以通过使用给定键将按位XOR运算符应用于每个字符来加密一串文本。要解密输出,只需重新应用密钥即可删除密码。

因此,如果您的obj.XOREncryption()除了简单的XOR之外什么都不做,那么通过第二次应用相同的操作,您将获得原始文本:

decryptedXOR = obj.XOREncryption(password, encryptedXOR )