我正在查看视频游戏的xml prefrences文档,并将其作为其节点之一
< shop_vehicle>
KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg ==
< / shop_vehicle>
我假设这是某种散列值,但我很好奇,如果开头的“KEY”或者结尾的==有什么东西,因为有其他节点以相同的值开头。如果它确实有一些含义,那么有办法解密这个值吗?
这是另一个值
< inventory_shell> KEY0LjAKUydBUk1PUl9QSUVSQ0lORycKcDAKUydBUk1PUl9QSUVSQ0lOR19DUicKcDEKUydIT0xMT1dfQ0hBUkdFJwpwMgpTJ0hJR0hfRVhQTE9TSVZFJwpwMwpTJ215VmVoaWNsZUd1bicKcDQKUyIobHAwXG5jZ3VpLlNjYWxlZm9ybS51dGlscy5ndWlfaXRlbXNcbkludmVudG9yeVZlaGljbGVcbnAxXG5hKFMnIVxceDAyXFx4MDNcXHgwMFxceDA0XFx4MDBcXHhjOVxceDAwXFx4MDRcXHgwMFxceDA0XFx4MDBcXHgwNlxceDAwXFx4MDAnXG5wMlxuSTNcbihscDNcbkk2XG5hSTdcbmF0cDRcbmEuIgpwNQp0cDYKLg ==
< / inventory_shell>
答案 0 :(得分:6)
你不能“解密”哈希 - 哈希的定义属性是找到与给定哈希值匹配的哈希内容的唯一方法是对所有可能的内容进行暴力测试。
幸运的是,这不是哈希,它只是base64(编码)。在Python(或online)中:
>>> import base64
>>> s = b'KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg=='
>>> base64.b64decode(s)
"(F1.0\nS'mediumTank'\np0\nS'inHangar'\np1\ntp2\n."
第二个想法,两个值都以KEY开头,因此这种格式的作者很可能添加了一些自制的编码。此外,内容不是纯字符串,而是二进制数据格式。
答案 1 :(得分:0)
它只是一个Base64编码的字符串。使用像这样的工具对其进行解码:http://www.opinionatedgeek.com/dotnet/tools/base64decode/