問題タブ [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.
security - 目立たなくても GUID セキュリティを使用していますか?
サービスへのアクセスを取得する手段として公開アプリケーションのパスワードとして GUID を使用する場合、このセキュリティは隠蔽によるものですか?
明白な答えは「はい」だと思いますが、GUID を推測する可能性は非常に低いため、セキュリティのレベルは非常に高いように思えます。
アップデート
GUID はデバイスに保存され、プラグインされると、SSL 接続を介して GUID を介して送信されます。
たぶん、GUID を生成し、GUID で AES 128 ビット暗号化を実行し、その値をデバイスに保存できますか?
.net - GUID のセットをハッシュする最速の方法
n 個の GUID のリストがあり、それらを 1 つの値にハッシュする必要があります。この値は、Guid オブジェクトのサイズまたは Int32 のサイズである可能性があります。実際には問題ではありませんが、統計的に一意である必要があります (おそらく MD5 に似ているとします)。
したがって、1 つのアプローチは、それらを並べ替え、バイトを連結し、すべてのバイトの MD5 ハッシュを取得することですが、これはそれほど迅速ではありません。
別のアイデア: 構成オブジェクトの GetHashCode メソッドを、構成オブジェクトのハッシュ コードの XOR として実装することは、.NET ではかなり標準的な方法であることに気付きました。したがって、GUID のリストを XOR することは数学的に賢明でしょうか?
どんなアイデアでも大歓迎です!
cocoa - Mac で標準の 128 ビット GUID (UUID) を生成する方法はありますか?
.NET に相当する組み込み関数はありますか
ココアで?
550e8400-e29b-41d4-a716-446655440000
私の望みは、一意の識別子を表す行に沿って文字列を生成することです。
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は正しいです、これはうまくいきます:
初めて試したとき、なぜうまくいかなかったのかわかりません。
c# - Guid.NewGuid() によって返された重複?
テスト目的で、サービスの 1 つにシミュレートされたデータを生成するアプリケーションがあります。各データ項目には一意の Guid があります。ただし、シミュレーターにいくつかの小さなコード変更を加えた後にテストを実行すると、シミュレーターによって生成されたすべてのオブジェクトが同じ Guid を持っていました。
単一のデータ オブジェクトが作成された後、新しい一意の Guid を含むオブジェクトのプロパティが変更された for ループがあり、リモート処理 (参照によるマーシャルではなくシリアル化可能) を介してサービスに送信されました。考えている)、ループしてもう一度やり直すなど。
小さな Thread.Sleep( ...) をループ内に配置すると、一意の ID が生成されます。私はそれが赤いニシンだと思います。次々と guid を作成しただけのテスト アプリを作成し、単一の重複を取得しませんでした。
私の理論は、IL がこの動作を引き起こす方法で最適化されたというものです。しかし、私の理論については十分です。どう思いますか?私はそれをテストするための提案と方法を受け入れます。
更新: 私の質問には多くの混乱があるようですので、明確にさせてください。NewGuid() が壊れているとは思いません。明らかにそれは機能します。大丈夫だよ!ただし、どこかにバグがあり、それにより NewGuid() が次のいずれかになります: 1) ループ内で 1 回だけ呼び出される 2) ループ内で毎回呼び出されるが、1 回だけ割り当てられる 3) 考えもしなかった何か
このバグは、私のコード (ほとんどの場合) または最適化のどこかにある可能性があります。
私の質問を繰り返しますが、このシナリオをどのようにデバッグすればよいですか?
(そして素晴らしい議論をありがとう、これは私の頭の中の問題を明確にするのに本当に役立っています)
更新#2:問題を示す例を投稿したいのですが、それは私の問題の一部です。アプリケーションスイート全体(クライアントとサーバー)の外で複製することはできません。
ただし、関連するスニペットは次のとおりです。
java - ビットを long にアセンブルして一意の ID を作成するにはどうすればよいですか?
Java で比較的一意の ID を提供するユーティリティを作成したいと考えています。タイムスタンプからの x ビット + 乱数からの y ビットのような、かなり単純なもの。
では、次のメソッドをどのように実装しますか。
ボーナス
ID の作成に使用できる、簡単に取得できるその他の情報について何か提案はありますか?
注: 私は GUID を認識しており、Java に UUID クラスがあることは知っていますが、128 ビット長のものは必要ありません。
.net - GUID を属性パラメーターとして取得するにはどうすればよいですか?
次のような属性クラスに Guid プロパティが必要です。
しかし、属性定義では、定数であるプリミティブ型のみを使用できます (理由は理解できますし、理にかなっています)。回避策は、「ForeignIdentificator」を文字列として定義し、実行時に Guid を作成することです。
残念ながら、型安全性のチェックを失いました。「ForeignIdentificator」プロパティには任意の文字列値を含めることができ、Guid の作成中に、コンパイル時ではなく実行時に例外がスローされます。
コンパイラは、「Guid 互換性」のために「System.Runtime.InteropServices.GuidAttribute」の文字列値をチェックすることを知っています。このチェックはまさに私が必要としているものですが、このチェックがコンパイラでハードコーディングされているのか、それとも明示的に定義できるのか (およびその方法) はわかりません。
属性の「Guid互換性」チェックを保護する方法を知っていますか? または、別の方法で、属性でタイプセーフな Guid 定義に到達する方法は? ありがとう。
asp.net - Guid.NewGuid() が空の GUID を生成するのはなぜですか?
空の Guid を作成する Guid.NewGuid() 呼び出しがあります。
このような問題の原因は何ですか?どうすれば修正できますか?
編集:コード:
編集: rowPointerはもともとrowPointerValueではなくSqlHelperに渡されていたことがわかりました-回答で指摘されているように、これはもちろん空として渡されます。それを rowPointerValue/rowPointer.ToString() に変更すると、問題が修正されました。
primary-key - 主キーを GUID に変換した後、パフォーマンスを修正するにはどうすればよいですか?
ORM として TopLink を使用し、DB として MySQL を使用しています。
テーブルの 1 つで、自動インクリメント主キーを GUID と交換しました (まあ、そうではありません。実際にはランダムな 64 ビット整数を使用していますが、それで十分です)。
とにかく、キーさえ使用しないクエリは、はるかに時間がかかります。
私に何ができる?
c# - プレフィックスを設定して GUID を作成する
最初の部分 (または任意の部分) がユーザーが選択したプレフィックスである有効な GUID/UUID を生成する方法があるかどうか疑問に思います。
つまり、GUID の形式は AAAAAAAA-BBBB-CCCC-DDDD-DDDDDDDDDDDD で、任意の部分を事前定義された値 (理想的には AAA) に設定したいと考えています。目標は、GUID をグローバルに一意にすることですが、暗号的に安全である必要はありません。