2017-01-01 1 views
0

J'ai une liste de base64 info_hashes tels que:Comment puis-je convertir un torrent codé en base64 info_hash en un lien d'aimant info_hash? (Linux)

GiQilvwxZ4LUpJ/NpVUv9f7tV8s= 

Mais quand je lance echo ... | base64 -d, il ne me donne pas le vrai infohash, mais un tas de personnages de blocs de charabia.

Comment obtenir le vrai, info_hash qui est utilisable dans un lien magnétique, à partir d'un codage en base64?

Merci d'avance.

+1

La sortie est une chaîne binaire brute de 20 octets. Dans un lien magnétique, info_hash est codé en hexadécimal. (Pour des raisons d'héritage, il peut également être codé en base32.) Vous devez donc coder en hexadécimal la sortie. – Encombe

+0

Merci, trouvé la commande unix pour le faire. – thouliha

+0

Stack Overflow est un site de questions de programmation et de développement. Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. Voir aussi [Où poser des questions sur Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww

Répondre

1

Il a fallu une conversion hexadécimal à la base 32, voici la commande:

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

Il doit être codé en hexadécimal. Seulement pour la compatibilité avec les liens existants existants, certains clients acceptent base32. http://bittorrent.org/beps/bep_0009.html – Encombe

+0

Pouvez-vous s'il vous plaît expliquer cela? J'ai besoin de le faire en utilisant Java. – m4heshd

+0

Vous pourriez être en mesure de google et de trouver des classes java Base64 qui peuvent faire cette conversion pour vous. – thouliha