問題タブ [boost-uuid]
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.
c++ - c++ でバイトから boost::uuid を読み込む
私は.data()
16バイトのデータ配列を取得するために使用します。後でファイルに書き込んで、変数
にロードし直したいと思います。uuid
変数へのメモリコピーを次のように実行する必要があります:(c++ 11)
c++ - ここで random_generator を静的にすることに問題はありますか?
多数の UUID を生成する必要があります。静的にしないとrg
、デフォルトで毎回構築するのに時間がかかります。静的にすると何か問題がありますか?とにかくuuidの一意性を損なうでしょうか?
それを行うより良い方法はありますか?
c++ - デフォルトの mt19937 RNG を使用して生成されたブースト UUID は、セッション ID に対して安全ですか?
予測不能/推測可能なセッション ID として使用する UUID を生成する必要があります。
これは、 boost の UUID ライブラリを使用して簡単に実現できます。
返された UUID は簡単に文字列に変換できます。
上記のコードは次と同等です。
そのため、Mersenne Twister 19937 疑似乱数ジェネレーターを使用しています。ブーストは、それを適切にシードするタスクを真剣に受け止めているようです。
ただし、boost::random_deviceのような非決定論的な RNG を代わりに使用することで、セキュリティ面で重要なことが得られるかどうか、またそれが UUID 生成の速度にどのように影響するかは疑問です。
セキュリティに詳しい方からのアドバイスをお待ちしております。
boost - ブースト uuid をブースト スピリットで解析する
パーサーを他のパーサーとうまく組み合わせて使用し、パーサー API を統一するためにboost::uuids::uuid
パーサーを作成しようとしています。boost::spirit::qi
qi
qi::grammar
私の最初のアイデアは、使用するカスタムを作成することでしたが、16 文字の長さの入力に一致するだけでなく、括弧で囲まれている場合やダッシュがない場合にも一致するboost::conversion::try_lexical_convert<boost::uuids::uuid &, const std::string &>
ため、開始イテレータを消費された位置に正しく設定するという問題があります。boost::conversion::try_lexical_convert<boost::uuids::uuid &, const std::string &>
私の2番目のアプローチは、boost::spirit::qi::rule
(または、必要に応じてから派生した文法CRTP )を使用することですが、おそらく次の式boost::spirit::qi::grammar::base_type
からコンパイルエラーが発生しました。BOOST_FUSION_ADAPT_STRUCT
/opt/local/include/boost/spirit/home/support/container.hpp:292:15: エラー: 'boost::uuids::uuid' に 'insert' という名前のメンバーがありません c.insert(c.end() 、val);
によって生成された問題のようですが、と組み合わせたboost::spirit::qi::detail::pass_through_container
私のアプローチも複数のエラーで失敗しました。BOOST_FUSION_ADAPT_ADT
*(obj.begin()+n)
c++ - Boost::UUID設定固有の値
Java UUID クラスには、UUID の特定の値を作成するために上位および下位の long を設定する方法があります。
UUID test(-1, -1);
UUID を生成します。ffffffff-ffff-ffff-ffff-ffffffffffff
C++ で BOOST UUID を使用して作成し、文字列バージョンを作成して UUID に変換する同様の方法はありますか?