問題タブ [guid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
12 に答える
14250 参照

security - 目立たなくても GUID セキュリティを使用していますか?

サービスへのアクセスを取得する手段として公開アプリケーションのパスワードとして GUID を使用する場合、このセキュリティは隠蔽によるものですか?

明白な答えは「はい」だと思いますが、GUID を推測する可能性は非常に低いため、セキュリティのレベルは非常に高いように思えます。

アップデート

GUID はデバイスに保存され、プラグインされると、SSL 接続を介して GUID を介して送信されます。

たぶん、GUID を生成し、GUID で AES 128 ビット暗号化を実行し、その値をデバイスに保存できますか?

0 投票する
2 に答える
2114 参照

.net - GUID のセットをハッシュする最速の方法

n 個の GUID のリストがあり、それらを 1 つの値にハッシュする必要があります。この値は、Guid オブジェクトのサイズまたは Int32 のサイズである可能性があります。実際には問題ではありませんが、統計的に一意である必要があります (おそらく MD5 に似ているとします)。

したがって、1 つのアプローチは、それらを並べ替え、バイトを連結し、すべてのバイトの MD5 ハッシュを取得することですが、これはそれほど迅速ではありません。

別のアイデア: 構成オブジェクトの GetHashCode メソッドを、構成オブジェクトのハッシュ コードの XOR として実装することは、.NET ではかなり標準的な方法であることに気付きました。したがって、GUID のリストを XOR することは数学的に賢明でしょうか?

どんなアイデアでも大歓迎です!

0 投票する
8 に答える
21468 参照

cocoa - Mac で標準の 128 ビット GUID (UUID) を生成する方法はありますか?

.NET に相当する組み込み関数はありますか

ココアで?

550e8400-e29b-41d4-a716-446655440000私の望みは、一意の識別子を表す行に沿って文字列を生成することです。

0 投票する
4 に答える
8904 参照

delphi - Delphi から GUID を ADO クエリ パラメータとして設定するにはどうすればよいですか?

MS Access では、データベースに 16 バイトのバイナリ フィールドとして格納される数値型の GUID (ドイツ語では 'Replikations-ID' と呼ばれるので、英語では 'replication id' になると思います) を使用できます。

Delphi でTADOQuery / TADOTableを使用してこれらのフィールドにアクセスする方法を見つけました。

しかし今、次のような SQL クエリを実行したいと思います。

上記のステートメントにTADOQuery.SQLプロパティを設定しようとしましAGuidたが、クエリを開くことができるように実際にパラメーターを設定する方法が見つかりませんでした。何を試しても (ADO/COM) エラーが発生しました

1 つ以上の必須パラメーターに値が指定されていません

例えば:

これも機能しません:

どのようにTGuidField(...).AsGuid機能するかを調べたところ、最初に GUID が文字列に変換され、次に文字列がバリアントに変換されることがわかりました (逆も同様です)。

常に次のように SQL ステートメントを生成すると、正常に動作します。

プログラム内でそのTADOQueryオブジェクトを渡しているのでAGuid、ほとんどのメソッドが実際の SQL ステートメントに依存しないように -Parameter のみを変更したいと考えています。

常に完全な SQL ステートメントを変更する以外に、GUID パラメータを設定する方法はありますか?

(MS SQL または MS Access ベースの他のデータベースと同期するには、グローバルに一意の識別子が必要なので、GUID である必要があります。)

編集 vradmilovicは正しいです、これはうまくいきます:

初めて試したとき、なぜうまくいかなかったのかわかりません。

0 投票する
7 に答える
17634 参照

c# - Guid.NewGuid() によって返された重複?

テスト目的で、サービスの 1 つにシミュレートされたデータを生成するアプリケーションがあります。各データ項目には一意の Guid があります。ただし、シミュレーターにいくつかの小さなコード変更を加えた後にテストを実行すると、シミュレーターによって生成されたすべてのオブジェクトが同じ Guid を持っていました。

単一のデータ オブジェクトが作成された後、新しい一意の Guid を含むオブジェクトのプロパティが変更された for ループがあり、リモート処理 (参照によるマーシャルではなくシリアル化可能) を介してサービスに送信されました。考えている)、ループしてもう一度やり直すなど。

小さな Thread.Sleep( ...) をループ内に配置すると、一意の ID が生成されます。私はそれが赤いニシンだと思います。次々と guid を作成しただけのテスト アプリを作成し、単一の重複を取得しませんでした。

私の理論は、IL がこの動作を引き起こす方法で最適化されたというものです。しかし、私の理論については十分です。どう思いますか?私はそれをテストするための提案と方法を受け入れます。

更新: 私の質問には多くの混乱があるようですので、明確にさせてください。NewGuid() が壊れているとは思いません。明らかにそれは機能します。大丈夫だよ!ただし、どこかにバグがあり、それにより NewGuid() が次のいずれかになります: 1) ループ内で 1 回だけ呼び出される 2) ループ内で毎回呼び出されるが、1 回だけ割り当てられる 3) 考えもしなかった何か

このバグは、私のコード (ほとんどの場合) または最適化のどこかにある可能性があります。

私の質問を繰り返しますが、このシナリオをどのようにデバッグすればよいですか?

(そして素晴らしい議論をありがとう、これは私の頭の中の問題を明確にするのに本当に役立っています)

更新#2:問題を示す例を投稿したいのですが、それは私の問題の一部です。アプリケーションスイート全体(クライアントとサーバー)の外で複製することはできません。

ただし、関連するスニペットは次のとおりです。

0 投票する
3 に答える
761 参照

java - ビットを long にアセンブルして一意の ID を作成するにはどうすればよいですか?

Java で比較的一意の ID を提供するユーティリティを作成したいと考えています。タイムスタンプからの x ビット + 乱数からの y ビットのような、かなり単純なもの。

では、次のメソッドをどのように実装しますか。

ボーナス

ID の作成に使用できる、簡単に取得できるその他の情報について何か提案はありますか?

注: 私は GUID を認識しており、Java に UUID クラスがあることは知っていますが、128 ビット長のものは必要ありません。

0 投票する
2 に答える
9103 参照

.net - GUID を属性パラメーターとして取得するにはどうすればよいですか?

次のような属性クラスに Guid プロパティが必要です。

しかし、属性定義では、定数であるプリミティブ型のみを使用できます (理由は理解できますし、理にかなっています)。回避策は、「ForeignIdentificator」を文字列として定義し、実行時に Guid を作成することです。

残念ながら、型安全性のチェックを失いました。「ForeignIdentificator」プロパティには任意の文字列値を含めることができ、Guid の作成中に、コンパイル時ではなく実行時に例外がスローされます。

コンパイラは、「Guid 互換性」のために「System.Runtime.InteropServices.GuidAttribute」の文字列値をチェックすることを知っています。このチェックはまさに​​私が必要としているものですが、このチェックがコンパイラでハードコーディングされているのか、それとも明示的に定義できるのか (およびその方法) はわかりません。

属性の「Guid互換性」チェックを保護する方法を知っていますか? または、別の方法で、属性でタイプセーフな Guid 定義に到達する方法は? ありがとう。

0 投票する
5 に答える
9689 参照

asp.net - Guid.NewGuid() が空の GUID を生成するのはなぜですか?

空の Guid を作成する Guid.NewGuid() 呼び出しがあります。

このような問題の原因は何ですか?どうすれば修正できますか?

編集:コード:

編集: rowPointerはもともとrowPointerValueではなくSqlHelperに渡されていたことがわかりました-回答で指摘されているように、これはもちろん空として渡されます。それを rowPointerValue/rowPointer.ToString() に変更すると、問題が修正されました。

0 投票する
4 に答える
506 参照

primary-key - 主キーを GUID に変換した後、パフォーマンスを修正するにはどうすればよいですか?

ORM として TopLink を使用し、DB として MySQL を使用しています。

テーブルの 1 つで、自動インクリメント主キーを GUID と交換しました (まあ、そうではありません。実際にはランダムな 64 ビット整数を使用していますが、それで十分です)。

とにかく、キーさえ使用しないクエリは、はるかに時間がかかります。

私に何ができる?

0 投票する
6 に答える
5020 参照

c# - プレフィックスを設定して GUID を作成する

最初の部分 (または任意の部分) がユーザーが選択したプレフィックスである有効な GUID/UUID を生成する方法があるかどうか疑問に思います。

つまり、GUID の形式は AAAAAAAA-BBBB-CCCC-DDDD-DDDDDDDDDDDD で、任意の部分を事前定義された値 (理想的には AAA) に設定したいと考えています。目標は、GUID をグローバルに一意にすることですが、暗号的に安全である必要はありません。