我有一个加密参数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 您可以通过相同的"password"进行异或以获得原始字符串。
编辑:来自维基百科:
文本字符串可以通过使用给定密钥对每个字符应用按位异或操作符进行加密。要解密输出,只需重新应用密钥即可删除密码。
所以,如果你的obj.XOREncryption()
没有做任何额外的,但一个简单的异或,通过应用相同的操作第二次,你会得到原始文本:
decryptedXOR = obj.XOREncryption(password, encryptedXOR )