You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成128位/256位弱RSA密钥?OpenSSL生成失败的解决办法

生成弱RSA密钥的可行方案

OpenSSL新版本出于安全考虑限制了最小RSA密钥长度,要生成128/256位这类弱密钥,试试下面几种方法:

  • 使用旧版OpenSSL
    OpenSSL 1.0.x及更早版本没有强制的最小密钥长度限制,直接执行你原来的命令即可:

    openssl genrsa -out test.key 128
    
  • 修改OpenSSL源码重新编译
    找到报错对应的源码文件providers/implementations/keymgmt/rsa_kmgmt.c,定位到密钥长度检查的逻辑(比如原代码中判断密钥长度是否低于某个阈值的代码段),把阈值改成你需要的数值(比如128),然后重新编译OpenSSL。编译完成后的版本就能正常生成弱密钥了。

  • 用Python脚本生成
    借助cryptography库可以绕开长度限制,写个简单脚本就能生成目标密钥:

    from cryptography.hazmat.primitives.asymmetric import rsa
    from cryptography.hazmat.primitives import serialization
    
    # 生成128位RSA私钥
    private_key = rsa.generate_private_key(
        public_exponent=65537,
        key_size=128,
    )
    
    # 将私钥保存为PEM格式文件
    with open("test.key", "wb") as f:
        f.write(private_key.private_bytes(
            encoding=serialization.Encoding.PEM,
            format=serialization.PrivateFormat.PKCS8,
            encryption_algorithm=serialization.NoEncryption()
        ))
    

    先安装依赖库:pip install cryptography,执行脚本就能得到128位的RSA私钥。

内容的提问来源于stack exchange,提问作者FalcoGer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 03:45:12