Cracking Spotify-koden


Hvis du har brukt Spotify, kan du ha lagt merke til en praktisk bitkode som den kan produsere som ser ut som en rekke stenger av forskjellige høyder. Hvis du er som [Peter Boone], vil en slik koding stimulere din nysgjerrighet, så vel som du kan sette ut for å finne ut nøyaktig hvordan de fungerer.

Spotify tilbyr et bit bilde som, når det skannes, åpner nesten alt som kan søkes med Spotify. En rekke linjer er sentrert på Spotify-logoen med åtte forskjellige høyder, lagring av informasjon i oktal. Mange visuelle kodingsordninger koder for noen URI (ensartet ressursidentifikator) som gir en unik identifikator for den spesifikke sangen, albumet eller artisten når de dekodes. Siden mange urer på Spotify er ganske lang (et eksempel er Spotify: Vis: 3nrv0mhza8xert0eylpaip som klokker i 218 biter), er det nødvendig med noe system for å komprimere urene ned til noe mer håndterbart. Gå inn i mediareferansen, en kort sekvens som koder for en bestemt URI, generelt under 40 biter. Anbefalingen er bare en oppslag i en database som spotify vedlikeholder, så det trenger en nettverkstilkobling for å løse. Den faktiske kodingsplanen fra medieanbefaling til verdiene i stolpene er ganske komplisert, inkludert CRC, konvolusjon, samt punktering. CRC gjør at programmet kan inspisere for korrekt dekoding, samt konvolusjonen tillater programmet å ha et lite antall sjekket feil, samtidig som det har et presis resultat. Punktering er bare å eliminere biter for å redusere tallene som er kodet, avhengig av konvolusjonen for å fylle hullene.

[Peter] forklarer alt i hans anmeldelse nyttige så vel som forståelig nok. Skaperen av Spotify-kodene stoppet av i kommentarene for å tilby noen verdifulle pekere, inkludert pekende tilgjengelig, er en annen modus hvor linjene ikke er sentrert, slik at den kan lagre dobbeltbitene. [Peter] har en python bunt på Github med all nødvendig kode for deg å begynne dekoding. Kanskje du kan integrere en Spotify-kode-skanner i din egendefinerte Spotify-spiller Mini-datamaskin.

Leave a Reply

Your email address will not be published. Required fields are marked *