Security 初級

プラットフォームで最も強力なSecureRandomの実装を取得する。

✕ Java 8
// Default algorithm — may not be
// the strongest available
SecureRandom random =
    new SecureRandom();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
✓ Java 9+
// Platform's strongest algorithm
SecureRandom random =
    SecureRandom.getInstanceStrong();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
このコードに問題がありますか? お知らせください。
🛡️

最強のアルゴリズム

プラットフォームに最適なアルゴリズムを自動的に選択します。

📖

明確な意図

強力な乱数が必要であることをコードで明確に伝えます。

🔧

設定可能

管理者がセキュリティプロパティで強力なアルゴリズムを変更できます。

旧来のアプローチ
new SecureRandom()
モダンなアプローチ
getInstanceStrong()
JDKバージョン
9
難易度
初級
強力な乱数生成
利用可能

JDK 9(2017年9月)以降、広く利用可能

getInstanceStrong()は、プラットフォームで最も強力と設定されたSecureRandomの実装を返します。これはセキュリティプロパティ securerandom.strongAlgorithms によって制御されます。

共有 𝕏 🦋 in