V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Wait845
V2EX  ›  问与答

想问问 Python 如何用 RSA 的私钥生成一个对应的公钥?

  •  
  •   Wait845 · Mar 4, 2021 · 1200 views
    This topic created in 1889 days ago, the information mentioned may be changed or developed.

    查了很多资料,都没有找到相关的回答。python 用的是 rsa 模块 http://tool.chacuo.net/cryptgetpubkey 这个网站提供这个服务,说明是有可行性的,希望大家能帮帮忙

    4 replies    2021-03-04 14:47:49 +08:00
    itskingname
        1
    itskingname  
       Mar 4, 2021
    os.system('openssl rsa -in mykey.pem -pubout > mykey.pub')
    honeycomb
        2
    honeycomb  
       Mar 4, 2021 via Android
    一般来说生成好的 RSA 私钥的封装同时会包含公钥(当然也可以把其中的公钥剥离),生成公钥其实就是把这个公钥提取出来,储存为合适的封装形式
    rrfeng
        3
    rrfeng  
       Mar 4, 2021
    理论上:不可以,公钥私钥成对出现,是对称的并无区分,只是认为的定义一个保密一个公开。你无法从公钥推算私钥,也无法从私钥推算公钥,这是非对称加密算法安全性的理论基石。

    实际上:maybe 。因为私钥文件格式中包含了公钥内容。用 1 楼的方式可以取出来。
    asilin
        4
    asilin  
       Mar 4, 2021
    如果是想生成 OpenSSH 兼容的公钥,使用:ssh-keygen -f mykey.pem -y

    如果是想生成 OpenSSL 兼容的公钥,使用:ssh-keygen -f mykey.pem -e -m pem
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5385 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
    ♥ Do have faith in what you're doing.