这个bash命令是否有一个简单的Windows等价物:
head -c 500 /dev/urandom | tr -dc abcdefghijklmnopqrstuvwxyz | head -c 9; echo
我认为主要问题是/ dev / urandom,因为我听说过CryptoAPI,但我不知道这是否足够加密。
编辑:对不起,代码用在php脚本中,%s
表示字符串替换;当我问这个问题时,我忘了做那个替换。固定。
答案 0 :(得分:2)
取自RFC 4086:
<强> 7.1.3。 Windows CryptGenRandom
Microsoft向广泛部署的Windows用户推荐 操作系统一般是使用CryptGenRandom伪随机 使用CryptAPI加密服务进行号码生成调用 供应商。这需要一个加密服务提供者的句柄 library,指向调用者可以提供的缓冲区的指针 熵,并返回生成的伪随机性, 并指示需要多少个八位字节的随机性。
Windows CryptAPI加密服务提供程序存储种子 每个用户的状态变量。当调用CryptGenRandom时,这个 与呼叫中提供的任何随机性以及各种随机性相结合 系统和用户数据,如进程ID,线程ID,系统时钟, 系统时间,系统计数器,内存状态,可用磁盘集群和 散列用户环境块。这些数据都被送到SHA-1和 输出用于为RC4密钥流设定种子。那个关键流是 用于生成请求的伪随机数据并更新 用户的种子状态变量。
Windows“.NET”的用户可能会发现使用它更容易 RNGCryptoServiceProvider.GetBytes方法接口。