Grupperet efter situation, ikke format
Denne kategori er ikke så meget et tema som en skuffe. Værktøjerne i den er de små konverteringer, du har brug for, mens noget andet er den egentlige opgave, så de er listet her efter den situation, du er i, når du griber til dem.
“Der er en uigennemsigtig streng i denne log, og jeg ved ikke, hvad det er.”
Hvis den ligner 550e8400-e29b-41d4-a716-446655440000, fortæller
UUID-afkoderen dig versionen og, for v1, v6 og
v7, tidsstemplet den blev skabt på. Hvis den ligner SGVsbG8= eller ender på
==, er det Base64 — afkod det. Hvis det er et
rent titalscifret tal, der starter med 17, er det et
Unix-tidsstempel fra nogenlunde nu.
“Jeg har brug for et ID.” UUID-generatoren laver v1 og v3 til v7 og producerer tusindvis på én gang til at seede en testdatabase.
“Dette tidsstempel er forkert med en faktor tusind.” Sekunder eller millisekunder — tidsstempelkonverteren håndterer begge og viser dig, hvilken af dem du gav den.
“Jeg har brug for denne data-URI som en rigtig fil.” Eller det modsatte: Base64 til billede.
“Hvilken farve er det egentlig?” Farvevælgeren til at konvertere mellem notationer, billedfarvevælgeren til at læse en værdi ud af et screenshot eller en mockup.
“Dette skal være snake_case, og det er camelCase.” Case-konverter.
“Hvad er 0xDEADBEEF i decimal, og hvad sker der, hvis det er signeret?” Taltalsystemskonverter, som i modsætning til de fleste håndterer negative tal og totalskomplement.
Identifikatorer lækker mere, end folk forventer
Den ene tværgående ting, det er værd at sige her, fordi ingen enkelt værktøjsside ejer den: flere af disse formater bærer information, du ikke havde til hensigt at offentliggøre.
UUID v1 indlejrer et tidsstempel og maskinens MAC-adresse. Det var det oprindelige design — unikhed garanteret af “denne maskine, i dette øjeblik”. Det betyder også, at en v1-UUID i en offentlig URL fortæller alle, der er interesserede, præcis hvornår posten blev oprettet, og giver dem en stabil identifikator for den server, der lavede den. Du kan bekræfte det selv ved at indsætte én i afkoderen.
UUID v7 indlejrer også et Unix-tidsstempel, med vilje, fordi det at sortere efter ID og sortere efter oprettelsestidspunkt er den samme ting, er enormt nyttigt for en databases indekslokalitet. Prisen er den samme afsløring: v7-ID’er er ordnede, så at eksponere dem offentligt afslører oprettelsestidspunkter og lader nogen anslå, hvor mange poster du opretter per time, ved at kigge på to af dem.
v4 er den, der ikke afslører noget — 122 bit tilfældighed og ingen struktur. Det er derfor, den forbliver standarden til alt brugervendt, og hvorfor “brug v7 til den primære nøgle, v4 til den offentlige identifikator” er en fornuftig regel for samme tabel.
Base64 afslører alt, øjeblikkeligt, til hvem som helst. Det er ikke tilsløring. En Kubernetes-hemmelighed er Base64-kodet, så binære værdier kan overleve YAML, ikke for at beskytte dem.
Alt på denne side kører lokalt, hvilket for denne kategori betyder mere end de fleste: produktionsidentifikatorer, tokens og logfragmenter er præcis den slags ting, der ikke bør indsættes på en andens server for at blive afkodet.