私のWebサービスでは、強力で文字列として表すことができるパスワードを生成する必要があります。現在、私System.Security.Cryptography.RandomNumberGenerator
はランダムバイトの十分な大きさの配列を使用して生成し(それが本当に十分に大きいと仮定しましょう)、base 64を使用してエンコードし、それをユーザーに返します。
このようにして、暗号化に適したPRNG(クラスではありません。クラスが問題ない理由の詳細についてはこの質問を参照してくださいRandom
)をRandom
使用して生成され、文字列として表して電子メールで送信できるランダムなパスワードを取得します。インターフェイスで入力するか、ユーザーが入力またはコピーして貼り付けます。
セキュリティの観点から、このスキームに本質的に何か問題がありますか?