Grupperat efter situationen, inte formatet
Den här kategorin är mindre ett tema och mer en byrålåda. Verktygen i den är de små omvandlingarna du behöver medan något annat är den egentliga uppgiften, så de listas här efter situationen du befinner dig i när du tar till dem.
“Det finns en obegriplig sträng i den här loggen och jag vet inte vad det
är.” Ser den ut som 550e8400-e29b-41d4-a716-446655440000 berättar
UUID-avkodaren versionen och, för v1, v6 och
v7, tidsstämpeln den skapades vid. Ser den ut som SGVsbG8= eller slutar på
== är det Base64 — avkoda den. Är det ett
naket tiosiffrigt tal som börjar på 17 är det en
Unix-tidsstämpel från ungefär nu.
“Jag behöver ett ID.” UUID-generatorn klarar v1 och v3 till v7 och producerar tusentals på en gång för att fylla en testdatabas.
“Den här tidsstämpeln är fel med en faktor tusen.” Sekunder eller millisekunder — tidsstämpelomvandlaren hanterar båda och visar dig vilket du gav den.
“Jag behöver den här data-URI:n som en riktig fil.” Eller tvärtom: Base64 till bild.
“Vilken färg är det där exakt?” Färgväljaren för att omvandla mellan notationer, bildfärgväljaren för att läsa ut ett värde från en skärmdump eller en mockup.
“Det här behöver vara snake_case och det är camelCase.” Formatomvandlaren.
“Vad är 0xDEADBEEF i decimalform, och vad händer om det är signerat?” Talsystemsomvandlaren, som till skillnad från de flesta hanterar negativa tal och tvåkomplement.
Identifierare läcker mer än folk förväntar sig
Den enda genomgående saken värd att säga här, eftersom ingen enskild verktygssida äger den: flera av de här formaten bär information du inte tänkte publicera.
UUID v1 bäddar in en tidsstämpel och maskinens MAC-adress. Det var den ursprungliga designen — unikhet garanterad av “den här maskinen, i det här ögonblicket”. Det betyder också att ett v1-UUID i en publik URL berättar för den som bryr sig exakt när posten skapades och ger dem en stabil identifierare för servern som skapade den. Du kan bekräfta det här själv genom att klistra in ett i avkodaren.
UUID v7 bäddar också in en Unix-tidsstämpel, medvetet, eftersom att sortering efter ID och sortering efter skapandetid blir samma sak är enormt användbart för databasindexlokalitet. Priset är samma avslöjande: v7-ID:n är ordnade, så att exponera dem offentligt avslöjar skapandetider och låter någon uppskatta hur många poster du skapar per timme genom att titta på två av dem.
v4 är den som inte avslöjar något — 122 bitar slump och ingen struktur. Det är varför den förblir standardvalet för allt som är användarvänt, och varför “använd v7 för primärnyckeln, v4 för den publika identifieraren” är en rimlig regel för samma tabell.
Base64 avslöjar allt, direkt, för vem som helst. Det är inte obfuskering. En Kubernetes-hemlighet är Base64-kodad så att binära värden överlever YAML, inte för att skydda dem.
Allt på den här sidan körs lokalt, vilket för den här kategorin spelar större roll än de flesta: produktionsidentifierare, tokens och loggfragment är precis det som inte bör klistras in på någon annans server för att avkodas.