【问题标题】:Decrypt hashed value解密哈希值
【发布时间】:2011-06-11 19:44:01
【问题描述】:

我正在查看一个视频游戏的 xml prefrences 文档,它将此作为其节点之一


KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg==

我假设这是某种散列值,但我很好奇开头的“KEY”或结尾的 == 是否有任何含义,因为还有其他节点以相同的值开头。如果它确实有一些意义,是否有办法解密这个值?

这是另一个值

KEY0LjAKUydBUk1PUl9QSUVSQ0lORycKcDAKUydBUk1PUl9QSUVSQ0lOR19DUicKcDEKUydIT0xMT1dfQ0hBUkdFJwpwMgpTJ0hJR0hfRVhQTE9TSVZFJwpwMwpTJ215VmVoaWNsZUd1bicKcDQKUyIobHAwXG5jZ3VpLlNjYWxlZm9ybS51dGlscy5ndWlfaXRlbXNcbkludmVudG9yeVZlaGljbGVcbnAxXG5hKFMnIVxceDAyXFx4MDNcXHgwMFxceDA0XFx4MDBcXHhjOVxceDAwXFx4MDRcXHgwMFxceDA0XFx4MDBcXHgwNlxceDAwXFx4MDAnXG5wMlxuSTNcbihscDNcbkk2XG5hSTdcbmF0cDRcbmEuIgpwNQp0cDYKLg==

【问题讨论】:

    标签: encryption


    【解决方案1】:

    您不能“解密”散列 - 散列的定义属性是找到其散列与给定散列值匹配的内容的唯一方法是暴力测试所有可能的内容。

    幸运的是,这不是一个哈希,它只是base64(一个编码)。在 Python 中(或 online):

    >>> import base64
    >>> s = b'KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg=='
    >>> base64.b64decode(s)
    "(F1.0\nS'mediumTank'\np0\nS'inHangar'\np1\ntp2\n."
    

    再想一想,这两个值都以 KEY 开头,因此这种格式的作者很可能添加了一些自制的编码。另外,内容不是纯字符串,而是二进制数据格式。

    【讨论】:

      【解决方案2】:

      它只是一个 Base64 编码的字符串。使用类似这样的工具对其进行解码:http://www.opinionatedgeek.com/dotnet/tools/base64decode/

      【讨论】:

        猜你喜欢
        • 2016-10-29
        • 2013-07-12
        • 1970-01-01
        • 2010-12-06
        • 2015-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-31
        相关资源
        最近更新 更多