简单定义:公钥和私钥,加密和解密使用的是两个不同的密钥,所以是非对称

linux系统:ubuntu 14.04
软件工具:openssl java php


生成公钥私钥

使用命令生成私钥:
openssl genrsa -out rsa_private_key.pem 1024
参数:genrsa 生成密钥 -out 输出到文件 rsa_private_key.pem 文件名 1024 长度或者2048长度

从私钥中提取公钥:
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
参数: rsa 提取公钥 -in 从文件中读入 rsa_private_key.pem 文件名 -pubout 输出 -out 到文件 rsa_public_key.pem 文件名


shell加解密

新建一个test.txt 内容是 helloworld

使用公钥加密:

openssl rsautl -encrypt -in test.txt -inkey rsa_public_key.pem -pubin -out demo.en
参数: rsautl 加解密 -encrypt 加密 -in 从文件输入 test.txt 文件名 -inkey 输入的密钥 rsa_public_key.pem 上一步生成的公钥 -pubin 表名输入是公钥文件 -out输出到文件 demo.en 输出文件名

使用私钥解密:

openssl rsautl -decrypt -in demo.en -inkey rsa_private_key.pem -out demo.de
参数: -decrypt 解密 -in 从文件输入 demo.en 上一步生成的加密文件 -inkey 输入的密钥 rsa_private_key.pem 上一步生成的私钥 -out输出到文件 demo.de 输出的文件名

cat demo.de // helloworld

以下为简单加解密操作过程:

caizd@ubt144c:/work/caizd/key$ openssl rsautl -encrypt -in test.txt -inkey rsa_public_key.pem -pubin -out demo.en
caizd@ubt144c:/work/caizd/key$ openssl rsautl -decrypt -in demo.en -inkey rsa_private_key.pem -out demo.de
caizd@ubt144c:/work/caizd/key$ cat demo.de
helloworld
caizd@ubt144c:/work/key$

Linux使用openssl实现RSA非对称加密相关推荐

  1. [Linux] 使用openssl实现RSA非对称加密

    简单定义:公钥和私钥,加密和解密使用的是两个不同的密钥,所以是非对称 系统:ubuntu 14.04 软件:openssl java php 生成公钥私钥 使用命令生成私钥: openssl genr ...

  2. php利用openssl实现RSA非对称加密签名

    来源:http://www.webiji.com/archives/412 php利用openssl实现RSA非对称加密签名 1. 先用php生成一对公钥和私钥 $res = openssl_pkey ...

  3. php rsa验证签名,php利用openssl实现RSA非对称加密签名验证

    1. 先用php生成一对公钥和私钥 $res = openssl_pkey_new(); openssl_pkey_export($res,$pri); $d= openssl_pkey_get_de ...

  4. CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互

    (以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下) 1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据 1)pem格式的证书和私钥(公私钥是对应的)的base64编码 [cp ...

  5. Python代码实现MD5、AES对称加密和RSA非对称加密以及OpenSSl实践

    1.MD5加密算法 1.1 MD5加密的特点 不可逆运算 对不同的数据加密的结果是定长的32位和16位字符(不管文件多大都一样) 对相同的数据加密,得到的结果是一样的(也就是复制). 抗修改性 :信息 ...

  6. JSON 接口如何实现 RSA 非对称加密与签名

    代码地址如下: http://www.demodashi.com/demo/14000.html 一.概述 1. 数字签名的作用:保证数据完整性,机密性和发送方角色的不可抵赖性,加密与签字结合时,两套 ...

  7. Atitit RSA非对称加密原理与解决方案

    Atitit RSA非对称加密原理与解决方案 1.1. 一.一点历史 1 1.2. 八.加密和解密 2 1.3. 二.基于RSA的消息传递机制  3 1.4. 基于rsa的授权验证机器码 4 1.5. ...

  8. java rsa 117_java实现RSA非对称加密解密

    之前写过一篇java实现AES对称加密解密 在对密码加密传输的场景下 RSA非对称加密解密可能会更加适合. 原理就是后台生成一对公钥和私钥,公钥给前端用来加密,后台用私钥去解密,保证了传输过程中就算被 ...

  9. 前后端数据加密传输 RSA非对称加密

    任务需求:要求登陆时将密码加密之后再进行传输到后端. 经过半天查询摸索折腾,于是有了如下成果: 加密方式:RSA非对称加密. 实现方式:公钥加密,私钥解密. 研究进度:javascript与java端 ...

  10. Springboot+RSA非对称加密

    这是百度百科对(对称加密丶非对称加密)的解释: (1)对称加密算法在加密和解密时使用的是同一个秘钥. (2)非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称 ...

最新文章

  1. Linux系统安装gcc/g++详细过程
  2. 一文解读光纤收发器单模和多模的区别!
  3. apache mysql php 安装配置_Windows下Apache,MySql,PHP安装配置
  4. 禁止html文件控件手动输入的方法
  5. Toolbar设置详解----掉坑总结
  6. Spring Bean的一生
  7. 一次性解决导航栏的所有问题
  8. [转载] python numpy np.exp()函数
  9. KinectV2+Ubuntu 14.04+Ros 配置
  10. 视频目标跟踪算法Mean Shift和Particle Filter
  11. chromedriver下载链接以及对应版本
  12. 为你揭秘小程序音视频背后的故事......
  13. linux查看zip文件内容、统计内容大小
  14. 如何利用计算机技术检索文献,文献检索过程作业怎么写
  15. python实现seo疯狂外链发送工具
  16. 通过socks5代理下载webrtc源码错误:curl: (7) Can't complete SOCKS5 connection xx.xx.xx.xx
  17. 陪集分解和J.Lagrange定理的一些应用
  18. nginx 504 Gateway Time-out错误解决办法
  19. 滴滴十大技术方向开源项目出炉!有点牛啊!
  20. Anaconda3如何安装keras

热门文章

  1. C#语言-04.OOP基础
  2. linux-资料汇集
  3. 设计模式笔记之二(工厂模式)
  4. JAVA 调用Web Service的方法(转)
  5. 漆桂林:多模态知识图谱种类及其应用
  6. 那个高产似母猪的复旦计算机硕士
  7. 【论文解读】结合概率图模型和神经网络做图片问答
  8. 分类问题的评估指标一览
  9. 深度学习TF—12.Auto-Encoders(AE)与Varational Auto Encoder(VAE)实战
  10. Python中 将txt文件转换为csv文件