使用openssl在命令行加密

对于需要在应用软件中进行加密编程的开发者,通过命令行把基本的加密操作做一遍是很有意义的。openssl支持在命令行进行各种基本加密算法的操作。这些操作过程无需编程,其命令参数与程序函数调用加密的参数有着很好的直接对应关系。这些加密操作要素在各种不同的硬件、操作系统平台、加密软件库上是通用的。我们也可以直接在脚本程序中使用这些命令行的加密操作。由于无需编程,openssl自身又经过了较大范围、较长时间的实际应用检验,所以这里的加解密结果也可以作为自编程序的测试基准使用。

openssl官网上提供了源代码下载,在各种主流的OS平台下均不难编译。Linux平台一般内置了openssl软件,在网上很容易找到编译好的Windows版本安装包。

Openssl命令行操作的一般格式是:

openssl  加密操作类型  算法名称(及工作模式)  密钥 盐值  输入数据  输出数据

例如,用下面的openssl命令行加密a.txt,结果放在b.bin文件中。

openssl enc -aes-128-ecb -K 000102030405060708090A0B0C0D0E0F -in a.txt -out b.bin -p

当前目录下会多出b.bin文件,同时屏幕会给出如下两行输出:

salt=1800000021000000
key=000102030405060708090A0B0C0D0E0F</P>

参数及输出解释如下:

enc 表示执行对称加密操作;

-aes-128-ecb 表示使用128位AES算法,ECB工作模式;

-K 0001......0F 表示加密使用的密钥为十六进制000102030405060708090A0B0C0D0E0F;

-in和-out指明输入和输出文件名;

-p表示屏幕打印加密所使用的密钥key、初始向量iv、盐值salt等信息。由于ECB模式不使用初始向量,所以这里没有iv值的信息。

明确这些参数的含义,各参数的使用要求,是设计应用程序加密功能所必需的。关于openssl本身的命令行参考,openssl文档有详尽的描述。需要中文的可以参阅赵春平所著《openssl编程》,这本书开放了电子文档的下载,openssl命令行讲解在该书的后面第三十二章。

时间: 2024-10-18 13:28:07

使用openssl在命令行加密的相关文章

OpenSSL的命令行用法,以及参数大全

c:\openssl\bin>opensslOpenSSL> versionOpenSSL 1.0.2j 26 Sep 2016OpenSSL> https://wiki.openssl.org/index.php/Command_Line_Utilities 官方的安装手册: https://github.com/openssl/openssl/blob/master/INSTALL

用OpenSSL命令行生成证书文件(客户端)

证书文件生成 也许很多人和本人一样深有体会,使用OpenSSL库写一个加密通讯过程,代码很容易就写出来了,可是整个工作却花了了好几天.除将程序编译成功外(没有可以使用的证书文件,编译成功了,它并不能跑起来,并不表示它能正常使用,所以--),还需生成必要的证书和私钥文件使双方能够成功验证对方. 找了n多的资料,很多是说的很模糊,看了n多的英文资料,还是没有办法(不知道是不是外国朋友都比较厉害,不用说明得太清?),无意间找到yawl([email protected])写的文章,难得的汉字(呵呵).

Openssl命令行用法简介

去年推出的一些文章中曾介绍过使用openssl命令行完成SHA1.DES.RSA等运算的方法.但其实openssl支持的加解密.签名验签.摘要算法远不止这些.根据不同的应用场景,用户可以自行选择需要的功能.本期介绍如何查阅openssl指令用法.第一步:查看openssl支持哪些算法指令命令行输入openssl --help回车可见图1所示,列出了包括签名验签.证书操作.摘要运算.加解密运算等相关指令.图1第二步:查看某一具体指令用法我们以aes-128-ecb指令为例进行说明.该指令可以实现对

OpenSSL命令行工具

数据的加密解密对于Linux系统来说,是至关重要的一个概念,必须懂的对数据进行保护,上次我们详细说了关于数据加密的种种方式,如公钥加密,单向加密,密钥交换等,以及认证机构CA的存在:而OpenSSL命令就是一个可以帮助我们实现公钥加密,创建私钥,并根据私钥创建出公钥:还可以进行单向加密,生成随机数,对用户的密码进行加密操作:还有一点,就是可以利用OpenSSL自己认证生成私人CA,用户可以根据OpenSSL命令生成CA请求证书,并将此证书发给有公信力的CA进行认证,产生一个CA证书用来证明用户:

使用 openssl 命令行构建 CA \b及证书(一)

使用 openssl 命令行构建 CA \b及证书 这是一篇快速指南,使用 OpenSSL 来生成 CA (证书授权中心certificate authority).中级 CAintermediate CA和末端证书end certificate.包括 OCSP.CRL 和 CA颁发者Issuer信息.具体颁发和失效日期. 我们将设置我们自己的根 CAroot CA,然后使用根 CA 生成一个示例的中级 CA,并使用中级 CA 签发最终用户证书. 为根 CA 创建一个目录,并进入: mkdir

openssl命令行工具简介 - 指令x509

原文链接: http://blog.csdn.net/allwtg/article/details/4982507 openssl命令行工具简介 - 指令x509 用法:           openssl x509 [-inform DER|PEM|NET] [-outform DER|PEM|NET]            [-keyform DER|PEM][-CAform DER|PEM] [-CAkeyform DER|PEM]            [-in filename][-o

C/C++使用openssl进行摘要和加密解密(md5, sha256, des, rsa)

openssl里面有很多用于摘要哈希.加密解密的算法,方便集成于工程项目,被广泛应用于网络报文中的安全传输和认证.下面以md5,sha256,des,rsa几个典型的api简单使用作为例子. 算法介绍 md5:https://en.wikipedia.org/wiki/MD5 sha256:https://en.wikipedia.org/wiki/SHA-2 des: https://en.wikipedia.org/wiki/Data_Encryption_Standard rsa: htt

Mac OS X 中一些常用的命令行技巧

一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物理地址的,这就是命令行的用武之地了.具体来说,若心中已有想修改的物理地址,例如 00:1f:3c:93:b5:99,可执行 $ sudo ifconfig en1 ether 00:1f:3c:93:b5:99 来临时修改网卡的物理地址:若没有物理地址,只是想临时启用尝试一下,可用 openssl

OpenSSL之命令总结

OpenSSL从基础到应用系列: 1) OpenSSL之安全通讯基础 2) OpenSSL之PKI 3) OpenSSL之SSL协议的Web安全实现 4) OpenSSL之编译安装 透过上面几个方面的学习,我们应该对OpenSSL有了一个基本的了解.OpenSSL功能之强大,命令组合用法之多,往往让我们的学习不知所措.在此,我们来对openssl命令的使用做一个总结. 语法格式:  openssl command [ command_opts ] [ command_args ] 常用comma