Ho quello che pensavo fosse una semplice domanda. Sto usando questo codice per generare un UUID SHA1 in Golang:Generazione dello stesso UUID SHA1 in golang e Javascript
namespace := uuid.Parse("b9cfdb9d-f741-4e1f-89ae-fac6b2a5d740")
sha := uuid.NewSHA1(namespace, []byte("something"))
fmt.Println(sha.String())
Ora voglio generare lo stesso UUID in javascript, e ho pensato che sarebbe stato facile come qualcosa di simile a questo:
var hash = CryptoJS.SHA1("b9cfdb9d-f741-4e1f-89ae-fac6b2a5d740" + "something")
// chomp the hash into a UUID string
Tuttavia, sto riscontrando seri problemi. Sembra che la funzione uuid.Parse
in Golang sia in esecuzione this parsing function che converte lo spazio dei nomi in una matrice a 16 byte, quindi anche se utilizzo lo stesso algoritmo SHA1 in Javascript, non ottengo lo stesso risultato.
Mi sono scontrato con fare lo stesso in JS, ma sono perplesso.
Qualsiasi persona cripto intelligente qui che può aiutarmi?
Siamo spiacenti, ho appena aggiunto uno snippet. – Ronze
Puoi mostrare entrambi i risultati? –
@ArtjomB. Ho esaminato il significato di "analizzare" un UUID. Sembra che rimuova i trattini, converta i valori e produca una matrice di byte. Ronze Penso che potresti provare a rimuovere gli hash, eseguire la decodifica esadecimale e poi SHA1, ma non ne sono sicuro. –