Nous avons un processus de création des années UUID dans TSQL en utilisant les éléments suivants:Dans Node JS, comment lancer une valeur de hachage comme UUID égale à Cast TSQL Comme Uniqueidentifier
SELECT Cast(HASHBYTES('MD5', 'some string') as uniqueidentifier)
J'ai créé une API dans le nœud js , et ils veulent que je sois capable de créer le même identifiant unique à partir de 'une chaîne'. Est-ce possible? En utilisant crypto, je peux obtenir la même valeur hexadécimale que la commande HASHBYTES (crypto.createHash('md5').update('some string').digest("hex")
), mais je ne sais pas comment je pourrais le convertir en le même uuid que TSQL retourne. Je crois que ce que je veux est un uuid v3, mais je ne sais pas ce que l'espace de noms serait. Je pensais que SSMS utilisait peut-être une valeur spécifique au serveur pour créer l'uuid, mais j'ai pu obtenir la même valeur sur trois serveurs différents, deux sur notre réseau et un autre sur une instance EC2 aléatoire. Est-ce que je me méprends sur quelque chose de très basique à propos de l'uuid? Ou existe-t-il un espace de noms spécifique à Microsoft SQL Server, cohérent entre tous les serveurs?
bibliothèques Node J'ai vérifié: UUID, UUID-1345, UUID-lib, guid
J'ai aussi essayé la bibliothèque aguid, qui semble faire ce que je veux mais SHA256. J'ai emprunté le code et l'ai changé en md5, mais ensuite j'ai vu que toute cette bibliothèque est en train de faire un hachage et d'ajouter un 4 ou 8 à certains index de caractères.