我有一个来自网页的加密参数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
答案 0 :(得分:2)
您可以使用相同的“密码”进行异或,以获取原始字符串。
修改:
来自Wikipedia:
可以通过使用给定键将按位XOR运算符应用于每个字符来加密一串文本。要解密输出,只需重新应用密钥即可删除密码。
因此,如果您的obj.XOREncryption()
除了简单的XOR之外什么都不做,那么通过第二次应用相同的操作,您将获得原始文本:
decryptedXOR = obj.XOREncryption(password, encryptedXOR )