説明
現在サポートされているNode.jsでは、crypto.pseudoRandomBytes は crypto.randomBytes と同様に、暗号学的に強い乱数を生成します。両者に違いがないため、pseudoRandomBytes は非推奨の別名となっています。この別名を使うこと自体で、乱数が弱くなるわけではありません。
想定される影響
- 将来のNode.jsで削除されると、アップグレード時に互換性の問題が生じる可能性があります。
- 同じ動作に2つのAPI名が混在し、乱数の生成方法について誤解や保守の負担が生じる場合があります。
対処方法
- 同じ動作を提供する
crypto.randomBytesに置き換えてください。 - コールバックや戻り値の処理は維持し、不要な互換性分岐を削除してください。
- サポートするNode.jsバージョンの非推奨APIに関する案内を確認してください。
例
変更前
javascript
const crypto = require('crypto');
// 非推奨の別名を使っています。
const randomValue = crypto.pseudoRandomBytes(16);
console.log(randomValue.toString('hex'));
変更後
javascript
const crypto = require('crypto');
// 現在のAPI名を使います。
const randomValue = crypto.randomBytes(16);
console.log(randomValue.toString('hex'));
説明:
- 変更前:
crypto.pseudoRandomBytesは強い乱数を生成しますが、非推奨の古い別名です。 - 変更後: 同じ乱数生成の動作を提供する、現在のAPI名
crypto.randomBytesを使っています。