使用OpenSSL进行数据加密

0x01 OpenSSL的基本概念

OpenSSL是为网络通信提供安全性和数据完整性功能的一种协议,其中包括囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议。


0x02 加密和解密的基本概念

这里说一下加密和解密的过程:

      文件加密 :原始数据 -> 单向加密提取特征码 -> 使用私钥加密特征码并附加于原始数据中 -> 使用对称加密算法加密全部数据 -> 使用解密者的公钥加密 密码附加于已加密的数据中
      
     文件解密:使用自己的私钥解密对方用自己公钥加密的数据 -> 使用对称秘钥解密对称加密的数据 -> 使用加密者的公钥解密特征码 -> 使用单向加密算法验证特征码用来验证数据完整性

现在常用的有两种加密技术,对称加密与非对称加密:

     对称加密:通信双方使用同一个秘钥,数据发送方使用秘钥加密数据,接收方使用同一个秘钥进行解密。
     非对称加密:数据发送方使用接收方的公钥对数据进行加密,接收方可以使用自己的私钥进行解密。
     公钥:相对私钥可以公开流通,用于数据的加密
     私钥:不允许外流,用于解密与之对应的公钥所加密的数据

0x03 使用OpenSSL进行加密

      对称加密:    openssl  enc  des3  -a  -salt  -in [File_Name]  -out  [File_Name] 

        [email protected] /]# openssl enc -des3 -a -salt -in /test -out /test_jami
        enter des-ede3-cbc encryption password: #输入加密密码
        Verifying - enter des-ede3-cbc encryption password:确定加密密码
        des3 # 密算法
        -a   # 编码格式
        -salt # 加盐
        -in   # 后跟需要加密的文件
        -out  # 后跟加密后的文件

             

              加密前:   

      [[email protected] /]# cat test
       Qiudays

加密后:

      [[email protected] /]# cat test_jami 
        U2FsdGVkX1/esyJ/so4zcWPDXvzN+j88CA3k1WB3Qic=

     单向加密: openssl  dgst  -md5  【File_Name】

    [[email protected] /]# openssl dgst -md5 test 
    MD5(test)= 45e9b44d313c128548e42bfff7ba88dc
      -MD5 # 以MD5算法进行加密

0x04 随机数加密用户口令

openssl passwd -1 -salt ‘openssl rand -base64 位数‘

[[email protected] /]# openssl passwd -1 -salt ‘openssl rand -base64 55‘
Password: 
$1$openssl $svda7I/3byMe2z893Jy8r.




时间: 2024-10-09 20:44:53

使用OpenSSL进行数据加密的相关文章

自建私有CA

私有CA 为啥要自建私有CA,其使用范围是?   因为CA的使用费用很高,另一方面内部通信加密的需要. 我们可以使用openssl工具生成密钥,创建数字证书,创建私有CA,手动加密解密数据. 如何使用openssl进行创建私有CA? OpenCA也可以构建CA openssl命令:配置文件:/etc/pki/tls/openssl.cnf 构建私有CA方法: 在确定配置为CA的服务上生成一个自签证书,并为CA提供所需要的目录及文件即可: 具体步骤: (1) 生成私钥: ~]# (umask 07

JWT认证方案与禁用令牌策略

认证方案 1.1 jwt 对比状态保持机制 APP不支持状态保持 状态保持有同源策略, 无法跨服务器传递 不可逆加密 md5 sha1 sha256 主要用于数据认证, 防止数据被修改 消息摘要 MD 通过哈希算法将任意长度内容转为定长内容, 且相同内容的哈希值始终相同, 不同内容的哈希值不同(极小概率出现碰撞) 由于其唯一性, 一般将数据的哈希值称为数据的摘要信息, 称为数据的"指纹", 用于检测数据是否被修改 代表算法 sha1 sha256 md5 缺点 哈希算法是公开的, 如果

数据加密openssl&openssh

数据加密特性:机密性.完整性与身份认证. 常见的加密算法 对称加密 在对称加密算法在加密与解密过程中都使用同一密钥,不能有有效管理密钥. 对称加密算法有:DES:3DES:AES:Advanced:AES192 AES256 AES512:OpenSSL:gpg 单向加密 能够有效保证数据的完整性,单向加密算法,提取特征码:输入一样,输出必然一样:雪崩效应:输入的微小改变,会引起结果的巨大改变:定长输出,无论原始数据有多大,结果大小相同:具有不可逆,无法根据特征码来还原原来的数据.md4;md5

数据加密和OpenSSL

数据加密: SSL: Secure Socket Layer安全的套接字层 Openssl:ssl在Linux上实现的一个软件,开源的 例:使用了ssl协议就不在是原来的协议了 http(80) --> ssl --> https (443) NIST定义数据安全性的基本法则: 保密性: 数据保密性 隐私性 完整性: 数据完整性 系统完整性 可用性: 安全攻击: 被动攻击:监听 主动攻击:伪装.重放.消息篡改.拒绝服务 安全机制: 加密/解密.数字签名.访问控制.数据完整性.认证交换.流量填充

OpenSSL - 数据加密和数字证书

功能应用: 消息摘要,给文件或数据生成消息摘要,消息摘要只能校验数据的完整性,如SHA.MD5 数据加密和解密:对数据进行加密解密,OpenSSL实现了所有加密算法 数字证书:可以通过命令行或代码生成证书,证书内包含了公钥 数字签名:利用加密算法对数据进行签名,验证数据来源可靠性,如RSA 随机数字:产生可靠的随机数 加密算法: HASH算法:SHA.MD5等,不可逆加密,用于校验数据的完整性. 对称加密算法:DES.3DES.DESX等,双方使用相同的密钥进行加密解密. 非对称算法:RSA.E

使用openssl库实现RSA、AES数据加密

使用openssl库实现RSA.AES数据加密 openssl是可以很方便加密解密的库,可以使用它来对需要在网络中传输的数据加密.可以使用非对称加密:公钥加密,私钥解密.openssl提供了对RSA的支持,但RSA存在计算效率低的问题,所以一般的做法是使用对称密钥加密数据,然后再把这个只在当前有效的临时生成的对称密钥用非对称密钥的公钥加密之后传递给目标方,目标方使用约定好的非对称密钥中的私钥解开,得到数据加密的密钥,再进行数据解密,得到数据,这种使用方式很常见,可以认为是对HTTPS的裁剪.对称

php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密

PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加密: /** * 加密 * @param $originalData * @return string|void */ /*function encrypt($originalData){ // if (openssl_private_encrypt($originalData, $encryptD

openssl数据加密

一.openssl简介 openssl是最著名的开源SSL,其用 C 实现,被广泛应用在基于TCP/Socket的网络程序中. OpenSSL:开源项目 三个组件:openssl: 多用途的命令行工具,包openssllibcrypto: 加密算法库,包openssl-libslibssl:加密模块应用库,实现了ssl及tls,包nss 1.SSL(Secure Sockets Layer,*接层)是一个安全协议,为基于TCP的应用层提供安全链接,如https.其目标是保证两个应用间通信的保密性

Openssl及加密解密(一)数据加密解密及CA原理

明文:plaintxt或者cleartext,也就是没有加密的,直接可以看懂的内容.密文就是通过特殊方式处理过的内容,无法直接看懂. 常见的加密方式: 对称加密 公钥加密 单向加密 对称加密: 加密算法+口令,把要转换的数据也就是明文数据,通过加密算法内部转换明文变成密文.这个算法可能是公开的,但口令只有你自己知道.为了更加安全,那么加密本身不能过于依赖算法,因为算法固定而且一旦算法遭到破解,那么基于这个算法的所有密文都可以破解,所以算法固然重要,但是最重要的是口令,口令可以变,就算算法破解了,