2017-08-04 4 views
1

私が使用しているリモートAPIでは、各リクエストを一意に識別するパラメータであるreferenceIdが必要です。同時リクエストを送信する可能性があるため、数字を増やしたいとは思わないし、また、それらの数字をどこかに保存する必要があります(たとえば、アプリケーションを再起動する場合など)。 referenceIdはすべて48文字以内の数字である必要があります。 RNGCryptoServiceProviderを使用してランダムな48桁の番号を生成できますか?要求を一意に識別する方法は?

+0

なぜGUIDを使用しないのですか? –

答えて

1

GUIDに基づいて一意の整数を生成できます。そのほかのトピックに見て: How generate unique Integers based on GUIDs

+0

生成された値に一定の長さの要件があります。整数が十分であるか、異なる値が必要かどうかは不明です。 – Assil

+1

私はどちらか分かりません。私はその解決策を見つけましたが、おそらくそれは正しいケースではありません。あなたのソリューションは多分でも良いですが、RNGCryptoServiceProvider.GetBytesがGUIDのように一意の番号を与えるかどうかはわかりません。 – JBO

1

はい、それはユニークになります...それはさておき

public static byte[] GenerateKey(int keySize) 
     { 
      using (var randomNumberGenerator = new RNGCryptoServiceProvider()) 
      { 
       var randomNumber = new byte[keySize]; 
       randomNumberGenerator.GetBytes(randomNumber); 

       return randomNumber; 
      } 
     } 

は、あなたがその値を格納する際に問題がありますか?

関連する問題