زرع رقم عشوائي آمن في جافا
سؤال
سوف اثنين java.security.SecureRandom
الحالات التي تم تصنيفها بنفس القيمة تعطي في البداية نفس التسلسل من الأرقام العشوائية؟
أنا أسأل هذا لأنني أريد نفس التسلسل من الأرقام العشوائية في كل من العميل والخادم.ماذا لو كان كلاهما يستخدم نفس قيمة البذور.هل سيكون التسلسل هو نفسه، أم أن هناك طريقة يمكن من خلالها جعل التسلسل هو نفسه؟
المحلول
من مستندات API:
إذا حدث حالتين
Random
يتم إنشاؤها باستخدام نفس المصدر، ويتم إجراء نفس تسلسل استدعاءات الأساليب لكل منها، وسوف تقوم بإنشاء وإرجاع تسلسلات متطابقة من الأرقام.
نصائح أخرى
ماذا لو كان كلاهما يستخدم نفس قيمة البذور.هل سيكون التسلسل هو نفسه؟
لا، بالتأكيد لن يفعلوا ذلك.على الأقل ليس في تطبيق Oracle's Java 7 SDK.انظر نموذج التعليمات البرمجية الخاص بي في هذا المنشور SO.يبدو أن التنفيذ قد يختار استخدام مصادر إضافية للعشوائية، بالإضافة إلى البذور المتوفرة.