练习:伪随机数生成器
编写代码,使用 HMAC 密钥派生,从作为输入的特定熵开始,生成范围为 [1...10] 的 30 个伪随机整数。
使用 SHA-256,从熵生成一个种子(256 位二进制序列):
seed = SHA256(entropy)
使用以下公式生成第 n 个随机数:
1 + HMAC-SHA256(n, seed) % 10
在输出中打印这些数,并以空格分隔。
输入示例及其对应的输出:
| 输入 | 输出 |
| hello | 8 4 10 5 5 3 5 7 10 6 4 9 2 3 2 8 3 3 10 6 8 10 9 10 1 3 6 4 4 10 |
| random text | 10 5 5 9 7 4 2 9 2 1 10 4 8 9 8 1 8 6 5 7 5 4 3 4 6 6 9 8 1 1 |
| fun | 6 5 9 2 2 5 1 6 10 10 10 1 8 10 6 9 2 1 5 10 1 4 8 5 6 3 8 4 2 1 |