linux公私钥加解密命令

worktile 其他 410

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Linux系统中有许多命令可以用于公私钥的加解密操作。下面是一些常用的命令:

    1. 生成RSA密钥对:
    – 使用OpenSSL命令:
    – 生成私钥:openssl genpkey -algorithm RSA -out private_key.pem
    – 生成公钥:openssl rsa -pubout -in private_key.pem -out public_key.pem
    – 使用SSH-keygen命令:
    – 生成私钥:ssh-keygen -f private_key.pem
    – 生成公钥:ssh-keygen -f private_key.pem.pub -e -m pem > public_key.pem

    2. 加密:
    – 使用OpenSSL命令:
    – 使用公钥加密:openssl rsautl -encrypt -pubin -inkey public_key.pem -in plaintext.txt -out encrypted.txt
    – 使用私钥加密:openssl rsautl -encrypt -inkey private_key.pem -in plaintext.txt -out encrypted.txt
    – 使用GPG命令:
    – 使用公钥加密:gpg –encrypt –recipient “recipient” plaintext.txt
    – 使用私钥加密:gpg -e -u “sender” -r “recipient” plaintext.txt

    3. 解密:
    – 使用OpenSSL命令:
    – 使用私钥解密:openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
    – 使用公钥解密:openssl rsautl -decrypt -pubin -inkey public_key.pem -in encrypted.txt -out decrypted.txt
    – 使用GPG命令:
    – 使用私钥解密:gpg -d -u “recipient” -r “sender” encrypted.txt
    – 使用公钥解密:gpg -d -u “sender” -r “recipient” encrypted.txt

    以上是常见的Linux公私钥加解密命令,根据具体需求选择合适的命令进行操作即可。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,可以使用OpenSSL工具来进行公私钥的加解密操作。下面是几个常用的命令:

    1. 生成公私钥对:
    “`
    openssl genpkey -algorithm RSA -out private.pem -aes256
    openssl rsa -pubout -in private.pem -out public.pem
    “`
    这个命令会生成一个私钥文件private.pem和对应的公钥文件public.pem。需要注意的是,私钥文件(private.pem)会进行加密,并要求输入密码。

    2. 使用公钥加密数据:
    “`
    openssl rsautl -encrypt -in plaintext.txt -pubin -inkey public.pem -out encrypted.txt
    “`
    这个命令会使用公钥(public.pem)来加密plaintext.txt文件中的数据,并将加密结果存储到encrypted.txt文件中。

    3. 使用私钥解密数据:
    “`
    openssl rsautl -decrypt -in encrypted.txt -inkey private.pem -out decrypted.txt
    “`
    这个命令会使用私钥(private.pem)来解密encrypted.txt文件中的数据,并将解密结果存储到decrypted.txt文件中。

    4. 使用私钥对数据进行签名:
    “`
    openssl dgst -sha256 -sign private.pem -out signature.txt plaintext.txt
    “`
    这个命令会使用私钥(private.pem)对plaintext.txt文件中的数据进行签名,并将签名结果存储到signature.txt文件中。

    5. 使用公钥验证签名:
    “`
    openssl dgst -sha256 -verify public.pem -signature signature.txt plaintext.txt
    “`
    这个命令会使用公钥(public.pem)来验证signature.txt文件中的签名是否和plaintext.txt文件中的数据匹配。

    这些命令提供了一种在Linux环境下进行公私钥加解密操作的方法,可以用于加密敏感数据、数字签名和身份验证等目的。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    一、生成密钥对

    1. 打开终端,输入以下命令生成密钥对:
    “`
    ssh-keygen -t rsa
    “`
    2. 系统会提示你选择保存密钥对的文件路径和文件名,默认路径为~/.ssh/id_rsa,根据需要自行修改。
    3. 接下来会提示你设置密钥对的密码,可以选择设置密码或者直接回车跳过。
    4. 完成上述步骤后,系统会分别生成私钥文件(id_rsa)和公钥文件(id_rsa.pub)。

    二、公钥加密私钥解密操作

    1. 加密:使用公钥对文件进行加密,只有拥有相应私钥的用户才能解密文件。
    “`
    openssl rsautl -encrypt -pubin -inkey id_rsa.pub -in plain.txt -out encrypted.txt
    “`
    – `openssl rsautl`:使用openssl工具执行非对称加密操作。
    – `-encrypt`:选择加密操作。
    – `-pubin`:指定使用公钥进行加密。
    – `-inkey id_rsa.pub`:指定公钥文件路径和文件名。
    – `-in plain.txt`:指定要加密的明文文件路径和文件名。
    – `-out encrypted.txt`:指定加密后文件的保存路径和文件名。

    2. 解密:使用私钥对加密文件进行解密。
    “`
    openssl rsautl -decrypt -inkey id_rsa -in encrypted.txt -out decrypted.txt
    “`
    – `openssl rsautl`:使用openssl工具执行非对称加密操作。
    – `-decrypt`:选择解密操作。
    – `-inkey id_rsa`:指定私钥文件路径和文件名。
    – `-in encrypted.txt`:指定要解密的文件路径和文件名。
    – `-out decrypted.txt`:指定解密后文件的保存路径和文件名。

    三、私钥加密公钥解密操作

    1. 加密:使用私钥对文件进行加密,只有拥有相应公钥的用户才能解密文件。
    “`
    openssl rsautl -encrypt -inkey id_rsa -in plain.txt -out encrypted.txt
    “`
    – `openssl rsautl`:使用openssl工具执行非对称加密操作。
    – `-encrypt`:选择加密操作。
    – `-inkey id_rsa`:指定私钥文件路径和文件名。
    – `-in plain.txt`:指定要加密的明文文件路径和文件名。
    – `-out encrypted.txt`:指定加密后文件的保存路径和文件名。

    2. 解密:使用公钥对加密文件进行解密。
    “`
    openssl rsautl -decrypt -pubin -inkey id_rsa.pub -in encrypted.txt -out decrypted.txt
    “`
    – `openssl rsautl`:使用openssl工具执行非对称加密操作。
    – `-decrypt`:选择解密操作。
    – `-pubin`:指定使用公钥进行解密。
    – `-inkey id_rsa.pub`:指定公钥文件路径和文件名。
    – `-in encrypted.txt`:指定要解密的文件路径和文件名。
    – `-out decrypted.txt`:指定解密后文件的保存路径和文件名。

    注意:在上述命令中,`plain.txt`和`encrypted.txt`分别为明文和密文文件的路径和文件名,可以根据实际需要进行修改。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部