Openssl RSA基本加解密操作
1. 產生私鑰 (private key)
$ openssl genrsa -out key.pem 1024
結果是生成一個私鑰檔案: key.pem
$ file key.pem
key.pem: PEM RSA private key
2. 產生對應的公鑰 (public key)
$ openssl rsa -in key.pem -pubout -out pub.pem
結果是生成一個公鑰檔案: pub.pem
$ file pub.pem
pub.pem: ASCII text
3. 使用公鑰來加密字串
因為openssl加密的是位元組流, 為了便於觀察, 我們的例子把所有的輸入輸出變成可讀字串,對於密文使用base64進行編碼
$ echo -n "abcd" | openssl rsautl -encrypt -oaep -pubin -inkey pub.pem | openssl enc -A -base64
V6OdcZsflfYmQw0hMmf1Vg/X3N92JU7uIg2DxXQCJLoybo1TYvP+Nh944MuoVy+Z9BxE5h1sea8TIS81RXYAhif3rIy0FPNThNZcy1ryVu5odNLX/P01WdMYzYZvj5opoWka23cw5s5DnQJBklh9hLDiPcFR+8vuf0oEj+RsB24=
4. 使用私鑰來解密前面生成的加密串
$ export CIPHER="V6OdcZsflfYmQw0hMmf1Vg/X3N92JU7uIg2DxXQCJLoybo1TYvP+Nh944MuoVy+Z9BxE5h1sea8TIS81RXYAhif3rIy0FPNThNZcy1ryVu5odNLX/P01WdMYzYZvj5opoWka23cw5s5DnQJBklh9hLDiPcFR+8vuf0oEj+RsB24="
$ echo -n ${CIPHER} | openssl enc -A -base64 -d | openssl rsautl -decrypt -oaep -inkey key.pem
abcd
5. 引數說明
- -inkey file
the input key file, by default it should be an RSA private key. - -pubin
the input file is an RSA public key. - -encrypt
encrypt the input data using an RSA public key. - -decrypt
decrypt the input data using an RSA private key. - -oaep
the padding algorithm is used, optimal asymmetric encryption padding (OAEP)
相關文章
- 20.2 OpenSSL 非對稱RSA加解密演算法解密演算法
- OpenSSL RSA相關基本介面和程式設計示例程式設計
- Java之RSA加解密解析Java解密
- OpenSSL 使用AES對檔案加解密解密
- OpenSSL工具生成RSA金鑰對
- OpenSSL 公鑰私鑰加解密封裝解密封裝
- 使用OpenSSL替代MCrypt實現AES加解密解密
- 20.3 OpenSSL 對稱AES加解密演算法解密演算法
- mac 上使用OpenSSL 生成RSA證書Mac
- RSA演算法原理——(3)RSA加解密過程及公式論證演算法解密公式
- 使用openssl生成rsa公鑰和私鑰
- RSA的主場-證書籤名&OpenSSL演示
- Mac 使用openssl生成RSA公鑰和私鑰Mac
- 前端RSA金鑰生成和加解密——window.crypto使用相關前端解密
- 前後端java+vue 實現rsa 加解密與摘要簽名演算法後端JavaVue解密演算法
- redis基本操作Redis
- VSCode基本操作VSCode
- Docker基本操作Docker
- ElasticSearch基本操作Elasticsearch
- ElasticSearch - 基本操作Elasticsearch
- candance 基本操作
- svn基本操作
- oracle基本操作Oracle
- Hash基本操作
- linux基本操作Linux
- python基本操作Python
- FFMPEG基本操作
- dos 基本操作
- 基本操作題
- Laravel 基本操作Laravel
- HBase 基本操作
- MongoDB基本操作MongoDB
- webpack 基本操作Web
- Git基本操作Git
- mongo基本操作Go
- SQL基本操作SQL
- Go 操作 Redis 的基本操作GoRedis
- 坐下坐下,基本操作(ZooKeeper 操作篇)
- Mysql JSON 基本操作MySqlJSON