2011-06-11 67 views
0

我一直在尋找一個視頻遊戲的XML prefrences文件,它有這個作爲它的一個節點解密散列值

< shop_vehicle>
KEYxLjAKUydtZWRpdW1UYW5rJwpwMApTJ2luSGFuZ2FyJwpwMQp0cDIKLg ==
</shop_vehicle>

我假設這是某種散列值,但我很好奇,如果開頭的「KEY」或末尾的==爲任何東西,請看其他節點以相同的值開始。如果它有一些含義,是否有解密這個值的方法?

這裏是另一個值

< inventory_shell> KEY0LjAKUydBUk1PUl9QSUVSQ0lORycKcDAKUydBUk1PUl9QSUVSQ0lOR19DUicKcDEKUydIT0xMT1dfQ0hBUkdFJwpwMgpTJ0hJR0hfRVhQTE9TSVZFJwpwMwpTJ215VmVoaWNsZUd1bicKcDQKUyIobHAwXG5jZ3VpLlNjYWxlZm9ybS51dGlscy5ndWlfaXRlbXNcbkludmVudG9yeVZlaGljbGVcbnAxXG5hKFMnIVxceDAyXFx4MDNcXHgwMFxceDA0XFx4MDBcXHhjOVxceDAwXFx4MDRcXHgwMFxceDA0XFx4MDBcXHgwNlxceDAwXFx4MDAnXG5wMlxuSTNcbihscDNcbkk2XG5hSTdcbmF0cDRcbmEuIgpwNQp0cDYKLg ==
</inventory_shell>

回答

6

你不能 「解密」 哈希 - 哈希的定義屬性是找到其哈希值與給定哈希值相匹配的內容的唯一方法是對所有可能的內容進行蠻力測試。

幸運的是,這不是一個散列,它只是base64(一個編碼)。在Python(或online):

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

關於第二個想法,這兩個值與鍵啓動,那麼很可能這種格式的作者加入了一些自釀編碼。此外,內容不是純字符串,而是二進制數據格式。