解密散列值

问题描述

| 我当时正在看一个视频游戏的xml偏好文件,并将其作为其节点之一 KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg == 我以为这是某种哈希值,但我想知道开头的\“ KEY \”或结尾的==是什么,因为有其他节点都以相同的值开头。如果确实有某些含义,是否有办法解密该值? 这是另一个价值 KEY0LjAKUydBUk1PUl9QSUVSQ0lORycKcDAKUydBUk1PUl9QSUVSQ0lOR19DUicKcDEKUydIT0xMT1dfQ0hBUkdFJwpwMgpTJ0hJR0hfRVhQTE9TSVZFJwpwMwpTJ215VmVoaWNsZUd1bicKcDQKUyIobHAwXG5jZ3VpLlNjYWxlZm9ybS51dGlscy5ndWlfaXRlbXNcbkludmVudG9yeVZlaGljbGVcbnAxXG5hKFMnIVxceDAyXFx4MDNcXHgwMFxceDA0XFx4MDBcXHhjOVxceDAwXFx4MDRcXHgwMFxceDA0XFx4MDBcXHgwNlxceDAwXFx4MDAnXG5wMlxuSTNcbihscDNcbkk2XG5hSTdcbmF0cDRcbmEuIgpwNQp0cDYKLg ==     

解决方法

        您不能“解密”散列-散列的定义属性是查找其散列与给定散列值匹配的内容的唯一方法是对所有可能的内容进行暴力测试。 幸运的是,这不是哈希,只是base64(一种编码)。在Python中(或在线):
>>> import base64
>>> s = b\'KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg==\'
>>> base64.b64decode(s)
\"(F1.0\\nS\'mediumTank\'\\np0\\nS\'inHangar\'\\np1\\ntp2\\n.\"
再次考虑,这两个值都以KEY开头,因此这种格式的作者可能添加了一些自制编码。同样,内容不是纯字符串,而是二进制数据格式。     ,        它只是一个Base64编码的字符串。使用像这样的工具对其进行解码:http://www.opinionatedgeek.com/dotnet/tools/base64decode/