1、先查看Windows自带的powershell版本

PowerShell 是旧版本(比如 Windows PowerShell 5.1)

版本	Windows 11 专业版
版本号	25H2
安装日期	‎2025/‎6/‎7
操作系统版本	26200.7462
体验	Windows 功能体验包 1000.26100.275.0

如果 Windows 版本是 25h2 及以下版本,PowerShell 肯定版本不满足直接生成秘钥

2、使用环境

使用 docker 或者其他方法部署程序,部分程序有要求部署秘钥如:

此处建议使用`openssl rand -hex 32`生成密钥
此处建议使用`openssl rand -hex 16`生成密钥

上面的这两行都需要安装 openssl 生成秘钥,下面提供的方法可以不按装,直接使用Windows PowerShell 生成对应的秘钥

3、创建32位秘钥,直接复制粘贴执行即可

# 1. 创建32字节的空数组
$bytes = [byte[]]::new(32)
# 2. 用加密级随机数填充数组(旧版本兼容写法)
$rng = [System.Security.Cryptography.RNGCryptoServiceProvider]::new()
$rng.GetBytes($bytes)
$rng.Dispose() # 释放资源
# 3. 转换为十六进制字符串
[System.BitConverter]::ToString($bytes).Replace('-', '').ToLower()

4、创建16位秘钥,直接复制粘贴执行即可

# 生成16字节加密随机数(对应openssl rand -hex 16)
$bytes = [byte[]]::new(16)
$rng = [System.Security.Cryptography.RNGCryptoServiceProvider]::new()
$rng.GetBytes($bytes)
$rng.Dispose()
[System.BitConverter]::ToString($bytes).Replace('-', '').ToLower()