2017-05-17 10 views
0

としてTSQLのキャストにUUID等しいとハッシュ値をキャストする方法を私たちは、次を使用してTSQLでのUUIDの作成プロセスを持っています私は、「ある文字列」から同じユニークな識別子を作成できるようにしたいと考えています。それは可能ですか?暗号を使用して、私はHASHBYTESコマンド(crypto.createHash('md5').update('some string').digest("hex"))と同じ16進値を得ることができますが、TSQLが戻ってきたのと同じUUIDに変換する方法はわかりません。、UNIQUEIDENTIFIER

私はv3のuuidが欲しいと思っていますが、私は名前空間がどんなものか分かりません。おそらくSSMSがサーバーに固有の価値を使ってuuidを作成していると思ったが、ネットワーク上に2つ、ランダムにEC2インスタンスに3つの異なるサーバーで同じ値を得ることができた。

私はuuidについて非常に基本的なことを誤解していますか?または、すべてのサーバー間で一貫性のあるMicrosoft SQL Server固有のネームスペースがありますか?私がチェックアウトしました

ノードライブラリ:UUID、 UUID-1345、 UUID-libに、 GUID

はまた、私はしかし、SHA256でやりたいように見えるaguidライブラリを、試してみました。コードを借りてmd5に切り替えましたが、そのライブラリが行っているすべてがハッシュをとり、特定の文字インデックスで4または8を追加していることがわかりました。

答えて

0

TSQLがuniqueidentifierとしてキャストする方法を友人が理解しました。彼らはハッシュの文字を並べ替えるだけです!ここでは、JavaScriptでそれを行うだろう方法は次のとおりです。

var castAsUuid = function(str){ var x = str.substring(6, 8) + str.substring(4, 6) + str.substring(2, 4) + str.substring(0, 2) + '-' + str.substring(10, 12) + str.substring(8, 10) + '-' + str.substring(14, 16) + str.substring(12, 14) + '-' + str.substring(16, 20) + '-' + str.substring(20, 32) 

リターンx.toUpperCase() }

彼らは(約10種類の文字列を試してみました)と同じ方法を毎回それをやっているように見えます。良い時代。

関連する問題