2017-01-01 49 views
0

我base64編碼info_hashes如列表:如何轉換base64編碼的洪流info_hash一個磁鐵鏈接info_hash? (Linux)的

GiQilvwxZ4LUpJ/NpVUv9f7tV8s= 

但是當我運行echo ... | base64 -d,它並沒有給我的真實信息散列,而是一堆亂碼的文字塊。

我如何獲得真正的,info_hash這是可用的磁鐵鏈接,從base64編碼的呢?

在此先感謝。

+1

的輸出是一個20字節的原始二進制字符串。在磁鏈中,info_hash是十六進制編碼的。 (由於遺留原因,它也可能是base32編碼的。)所以你需要對輸出進行十六進制編碼。 – Encombe

+0

謝謝,找到了unix命令來做到這一點。 – thouliha

+0

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參見[我在哪裏張貼關於開發行動的問題?(http://meta.stackexchange.com/q/134306) – jww

回答

1

它需要hex轉換至基底32,這裏的命令:

echo GiQilvwxZ4LUpJ/NpVUv9f7tV8s=| base64 -d| xxd -l 32 -p 
+1

它應該是十六進制編碼。只有爲了與舊的現有鏈接兼容,某些客戶端才接受base32。 http://bittorrent.org/beps/bep_0009.html – Encombe

+0

能否請你解釋一下嗎?我需要使用java來做到這一點。 – m4heshd

+0

你也許能夠谷歌和發現一些Java的Base64類,可以爲你做這種轉換。 – thouliha

相關問題